{
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "qQEvBYe0Qwru"
      },
      "source": [
        "\n"
      ],
      "id": "qQEvBYe0Qwru"
    },
    {
      "cell_type": "code",
      "source": [
        "!pip install datasets accelerate bitsandbytes"
      ],
      "metadata": {
        "id": "VQ2MyKUjED9S"
      },
      "id": "VQ2MyKUjED9S",
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "1LGtOjMhDcAM"
      },
      "outputs": [],
      "source": [
        "from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig\n",
        "import torch\n",
        "from datasets import load_dataset\n",
        "import random, time\n",
        "import pandas as pd\n",
        "from tqdm import tqdm"
      ],
      "id": "1LGtOjMhDcAM"
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "-cOxYlM8Defq",
        "outputId": "f4a041d2-4d0e-4672-c085-dabbfb8db61e"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.10/dist-packages/huggingface_hub/file_download.py:1132: FutureWarning: `resume_download` is deprecated and will be removed in version 1.0.0. Downloads always resume when possible. If you want to force a new download, use `force_download=True`.\n",
            "  warnings.warn(\n",
            "Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.\n"
          ]
        }
      ],
      "source": [
        "# Load the tokenizer and model\n",
        "model_name = 'meta-llama/Meta-Llama-3-8B-Instruct'\n",
        "\n",
        "bits_config = BitsAndBytesConfig(\n",
        "    load_in_4bit=True,\n",
        "    bnb_4bit_use_double_quant=True,\n",
        "    bnb_4bit_quant_type=\"nf4\",\n",
        "    bnb_4bit_compute_dtype=torch.bfloat16\n",
        ")\n",
        "\n",
        "# Sample dataset, doesn't really matter what it is\n",
        "dataset = load_dataset(\"cais/mmlu\", 'virology')\n",
        "\n",
        "tokenizer = AutoTokenizer.from_pretrained(model_name)\n",
        "tokenizer.pad_token = tokenizer.eos_token"
      ],
      "id": "-cOxYlM8Defq"
    },
    {
      "cell_type": "code",
      "source": [
        "def get_stats(model, tokenizer, batch_size, possible_texts):\n",
        "    random_texts = random.sample(possible_texts, batch_size)\n",
        "\n",
        "    # Prepare a sample input. Truncating a bit\n",
        "    inputs = tokenizer(random_texts, return_tensors=\"pt\", padding=True, truncation=True, max_length=512)\n",
        "    inputs = {k: v.to(model.device) for k, v in inputs.items()}\n",
        "\n",
        "    # Synchronize GPU to make sure accurate measurements\n",
        "    torch.cuda.synchronize(model.device)\n",
        "\n",
        "    # Reset peak memory stats\n",
        "    torch.cuda.reset_peak_memory_stats(model.device)\n",
        "\n",
        "    # Measure memory before the forward pass\n",
        "    memory_before = torch.cuda.memory_allocated(model.device)\n",
        "\n",
        "    # Synchronize GPU to make sure accurate measurements\n",
        "    torch.cuda.synchronize(model.device)\n",
        "\n",
        "    # Reset peak memory stats\n",
        "    torch.cuda.reset_peak_memory_stats(model.device)\n",
        "\n",
        "    # Measure memory before the forward pass\n",
        "    memory_before = torch.cuda.memory_allocated(model.device)\n",
        "\n",
        "    time_before = time.time()\n",
        "    # Perform a forward pass\n",
        "    with torch.no_grad():\n",
        "        model(**inputs)\n",
        "    time_after = time.time()\n",
        "\n",
        "    # Synchronize again to ensure all operations are complete\n",
        "    torch.cuda.synchronize(model.device)\n",
        "\n",
        "    # Measure memory after the forward pass\n",
        "    memory_after = torch.cuda.memory_allocated(model.device)\n",
        "\n",
        "    # Calculate the difference in memory usage\n",
        "    memory_used = memory_after - memory_before\n",
        "    # print(f\"Memory used for one forward pass: {memory_used / (1024 ** 2)} MB\")\n",
        "\n",
        "    # Also report peak memory usage\n",
        "    peak_memory = torch.cuda.max_memory_allocated(model.device)\n",
        "    # print(f\"Peak memory usage during the forward pass: {peak_memory / (1024 ** 2)} MB\")\n",
        "\n",
        "    # print(f\"Time taken for one forward pass: {time_after - time_before} seconds\")\n",
        "\n",
        "    return time_after - time_before, peak_memory / (1024 ** 2), memory_used / (1024 ** 2)\n"
      ],
      "metadata": {
        "id": "nTfdfZU3ERkS"
      },
      "id": "nTfdfZU3ERkS",
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "# Quantized\n",
        "qt_model = AutoModelForCausalLM.from_pretrained(model_name, quantization_config=bits_config, device_map=\"auto\").eval()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 105,
          "referenced_widgets": [
            "18e524506f324ccf9a2bef3d2f4a48a3",
            "b88d1ebc0e074979a210de610229c2a1",
            "5380fbd569be4bfca3ea31dddde8dd58",
            "397e64560e804696b0475fa1c818e6f7",
            "ed81c95c9f194feb99f6d56224fbc5b0",
            "300224a3854246af81570747c6cd5033",
            "b1d775e1e4404ae9979d2aa77bbf2df4",
            "20e3303aea174fff8b58ecec4901c49b",
            "a3902bd51e0a427aac7f8fd2d75cc352",
            "9b510040126a4de9aaf8db6496927840",
            "913432a1ee734d9fabc77face2afeca5"
          ]
        },
        "id": "mCKxGu39ef67",
        "outputId": "eb63ba73-c3b0-4b57-8e55-31202a76b44d"
      },
      "id": "mCKxGu39ef67",
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "Loading checkpoint shards:   0%|          | 0/4 [00:00<?, ?it/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "18e524506f324ccf9a2bef3d2f4a48a3"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.10/dist-packages/huggingface_hub/file_download.py:1132: FutureWarning: `resume_download` is deprecated and will be removed in version 1.0.0. Downloads always resume when possible. If you want to force a new download, use `force_download=True`.\n",
            "  warnings.warn(\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "Y-GDzp7QjGSX",
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "outputId": "684fd8fe-50d0-4f1c-9b2f-15b039f045c4"
      },
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "(2.756621837615967, 5803.42431640625, 8.125)"
            ]
          },
          "metadata": {},
          "execution_count": 5
        }
      ],
      "source": [
        "time_spent, peak_memory, memory_used = get_stats(qt_model, tokenizer, 1, dataset['test']['question'])\n",
        "\n",
        "time_spent, peak_memory, memory_used"
      ],
      "id": "Y-GDzp7QjGSX"
    },
    {
      "cell_type": "code",
      "source": [
        "num_iter = 20  # Number of iterations for each batch size\n",
        "results = []\n",
        "batch_sizes = [1, 2, 4, 8, 16, 32]"
      ],
      "metadata": {
        "id": "I-wfG0rROqAk"
      },
      "id": "I-wfG0rROqAk",
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "for batch_size in tqdm(batch_sizes):\n",
        "    for _ in range(num_iter):\n",
        "        time_spent, peak_memory, memory_used = get_stats(qt_model, tokenizer, batch_size, dataset['test']['question'])\n",
        "        results.append(dict(\n",
        "            batch_size=batch_size, time_spent=time_spent, peak_memory=peak_memory, memory_used=memory_used,\n",
        "            model='meta-llama/Meta-Llama-3-8B-Instruct (quantized)'\n",
        "            ))"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "xudqHWVMEXZI",
        "outputId": "77288ad3-919f-4368-d590-4e07f8909541"
      },
      "id": "xudqHWVMEXZI",
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "100%|██████████| 6/6 [00:22<00:00,  3.79s/it]\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# Non Quantized\n",
        "non_qt_model = AutoModelForCausalLM.from_pretrained(model_name, device_map=\"auto\").eval()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 123,
          "referenced_widgets": [
            "5a6205b9a0e347499755773a91fe2d11",
            "5522a6a3c1b74f9db414b88c4cd14401",
            "2257cc1af2a441cc803f09557683b3bd",
            "30ef9d7313cc44e1883539f3143b6152",
            "eb985e59afd84d6bb1c1efe426365f72",
            "9010680ebf014ba5ae3d213d33f59997",
            "e4c5723b67304b0eaeac78c56683e431",
            "7bb23ae411484ab1882dc92cb57778c0",
            "3b259ab6cf4844d0a9676c1db77d72bc",
            "6aeb7a009255476fbff1f07bf6baac60",
            "3acdc812b4044a90939c294256fca427"
          ]
        },
        "id": "rNY93iODeMO6",
        "outputId": "9837679e-9665-4fad-bc44-0f8820a7c2e5"
      },
      "id": "rNY93iODeMO6",
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.10/dist-packages/huggingface_hub/file_download.py:1132: FutureWarning: `resume_download` is deprecated and will be removed in version 1.0.0. Downloads always resume when possible. If you want to force a new download, use `force_download=True`.\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "Loading checkpoint shards:   0%|          | 0/4 [00:00<?, ?it/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "5a6205b9a0e347499755773a91fe2d11"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "WARNING:root:Some parameters are on the meta device device because they were offloaded to the cpu.\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "time_spent, peak_memory, memory_used = get_stats(non_qt_model, tokenizer, 1, dataset['test']['question'])\n",
        "\n",
        "time_spent, peak_memory, memory_used"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "HTpSMg4fTKCI",
        "outputId": "871c92b9-f650-41b2-ee8d-17cf4316359f"
      },
      "id": "HTpSMg4fTKCI",
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "(0.7156417369842529, 35641.7919921875, 0.0)"
            ]
          },
          "metadata": {},
          "execution_count": 7
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "for batch_size in tqdm(batch_sizes):\n",
        "    for _ in range(num_iter):\n",
        "        time_spent, peak_memory, memory_used = get_stats(non_qt_model, tokenizer, batch_size, dataset['test']['question'])\n",
        "        results.append(dict(\n",
        "            batch_size=batch_size, time_spent=time_spent, peak_memory=peak_memory, memory_used=memory_used,\n",
        "            model='meta-llama/Meta-Llama-3-8B-Instruct (non quantized)'\n",
        "            ))"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "R34uRlDEMVd1",
        "outputId": "6abfb3e3-0118-413b-80a7-eed8c3f97a03"
      },
      "id": "R34uRlDEMVd1",
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "100%|██████████| 6/6 [07:01<00:00, 70.30s/it]\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "results_df = pd.DataFrame(results)\n",
        "results_df.groupby(['model', 'batch_size']).agg(['mean', 'median', 'min', 'max'])"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 488
        },
        "id": "LMlhu0AyMa0R",
        "outputId": "f90914a8-2b89-4bed-db07-f013e2ad895d"
      },
      "id": "LMlhu0AyMa0R",
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "                                                              time_spent  \\\n",
              "                                                                    mean   \n",
              "model                                              batch_size              \n",
              "meta-llama/Meta-Llama-3-8B-Instruct (non quanti... 1            2.710599   \n",
              "                                                   2            2.723676   \n",
              "                                                   4            2.791647   \n",
              "                                                   8            2.975514   \n",
              "                                                   16           3.659630   \n",
              "                                                   32           5.873408   \n",
              "meta-llama/Meta-Llama-3-8B-Instruct (quantized)    1            0.116982   \n",
              "                                                   2            0.119253   \n",
              "                                                   4            0.120534   \n",
              "                                                   8            0.117180   \n",
              "                                                   16           0.153876   \n",
              "                                                   32           0.262748   \n",
              "\n",
              "                                                                         \\\n",
              "                                                                 median   \n",
              "model                                              batch_size             \n",
              "meta-llama/Meta-Llama-3-8B-Instruct (non quanti... 1           2.700341   \n",
              "                                                   2           2.703755   \n",
              "                                                   4           2.766969   \n",
              "                                                   8           2.903494   \n",
              "                                                   16          3.794552   \n",
              "                                                   32          5.505301   \n",
              "meta-llama/Meta-Llama-3-8B-Instruct (quantized)    1           0.115986   \n",
              "                                                   2           0.118533   \n",
              "                                                   4           0.119629   \n",
              "                                                   8           0.116799   \n",
              "                                                   16          0.131377   \n",
              "                                                   32          0.230977   \n",
              "\n",
              "                                                                         \\\n",
              "                                                                    min   \n",
              "model                                              batch_size             \n",
              "meta-llama/Meta-Llama-3-8B-Instruct (non quanti... 1           2.678953   \n",
              "                                                   2           2.687139   \n",
              "                                                   4           2.704074   \n",
              "                                                   8           2.797222   \n",
              "                                                   16          2.916015   \n",
              "                                                   32          3.410552   \n",
              "meta-llama/Meta-Llama-3-8B-Instruct (quantized)    1           0.113212   \n",
              "                                                   2           0.115492   \n",
              "                                                   4           0.115809   \n",
              "                                                   8           0.115279   \n",
              "                                                   16          0.115750   \n",
              "                                                   32          0.119662   \n",
              "\n",
              "                                                                         \\\n",
              "                                                                    max   \n",
              "model                                              batch_size             \n",
              "meta-llama/Meta-Llama-3-8B-Instruct (non quanti... 1           2.827868   \n",
              "                                                   2           2.975231   \n",
              "                                                   4           2.960860   \n",
              "                                                   8           3.299892   \n",
              "                                                   16          5.608432   \n",
              "                                                   32          9.172674   \n",
              "meta-llama/Meta-Llama-3-8B-Instruct (quantized)    1           0.125096   \n",
              "                                                   2           0.132108   \n",
              "                                                   4           0.137438   \n",
              "                                                   8           0.119850   \n",
              "                                                   16          0.276783   \n",
              "                                                   32          0.496914   \n",
              "\n",
              "                                                                peak_memory  \\\n",
              "                                                                       mean   \n",
              "model                                              batch_size                 \n",
              "meta-llama/Meta-Llama-3-8B-Instruct (non quanti... 1           27330.329883   \n",
              "                                                   2           27356.662793   \n",
              "                                                   4           27437.945117   \n",
              "                                                   8           27601.015039   \n",
              "                                                   16          28320.963184   \n",
              "                                                   32          30349.247021   \n",
              "meta-llama/Meta-Llama-3-8B-Instruct (quantized)    1            5809.035913   \n",
              "                                                   2            5813.593896   \n",
              "                                                   4            5866.504346   \n",
              "                                                   8            5916.394409   \n",
              "                                                   16           6872.991016   \n",
              "                                                   32           8876.751514   \n",
              "\n",
              "                                                                             \\\n",
              "                                                                     median   \n",
              "model                                              batch_size                 \n",
              "meta-llama/Meta-Llama-3-8B-Instruct (non quanti... 1           27322.611816   \n",
              "                                                   2           27337.332031   \n",
              "                                                   4           27373.541992   \n",
              "                                                   8           27465.856445   \n",
              "                                                   16          28429.477051   \n",
              "                                                   32          29994.594727   \n",
              "meta-llama/Meta-Llama-3-8B-Instruct (quantized)    1            5802.158691   \n",
              "                                                   2            5807.471924   \n",
              "                                                   4            5816.717773   \n",
              "                                                   8            5838.755859   \n",
              "                                                   16           6713.966797   \n",
              "                                                   32           8431.684570   \n",
              "\n",
              "                                                                             \\\n",
              "                                                                        min   \n",
              "model                                              batch_size                 \n",
              "meta-llama/Meta-Llama-3-8B-Instruct (non quanti... 1           27316.195312   \n",
              "                                                   2           27329.783203   \n",
              "                                                   4           27348.416016   \n",
              "                                                   8           27408.291992   \n",
              "                                                   16          27566.749023   \n",
              "                                                   32          27916.552734   \n",
              "meta-llama/Meta-Llama-3-8B-Instruct (quantized)    1            5800.893066   \n",
              "                                                   2            5802.791992   \n",
              "                                                   4            5810.042969   \n",
              "                                                   8            5831.189453   \n",
              "                                                   16           5866.510742   \n",
              "                                                   32           6518.228516   \n",
              "\n",
              "                                                                             \\\n",
              "                                                                        max   \n",
              "model                                              batch_size                 \n",
              "meta-llama/Meta-Llama-3-8B-Instruct (non quanti... 1           27401.010742   \n",
              "                                                   2           27691.366211   \n",
              "                                                   4           27668.665039   \n",
              "                                                   8           27982.358398   \n",
              "                                                   16          30343.648438   \n",
              "                                                   32          33378.288086   \n",
              "meta-llama/Meta-Llama-3-8B-Instruct (quantized)    1            5918.186035   \n",
              "                                                   2            5922.230469   \n",
              "                                                   4            6448.610352   \n",
              "                                                   8            6290.337891   \n",
              "                                                   16           9058.218750   \n",
              "                                                   32          12538.600586   \n",
              "\n",
              "                                                              memory_used  \\\n",
              "                                                                     mean   \n",
              "model                                              batch_size               \n",
              "meta-llama/Meta-Llama-3-8B-Instruct (non quanti... 1                  0.0   \n",
              "                                                   2                  0.0   \n",
              "                                                   4                  0.0   \n",
              "                                                   8                  0.0   \n",
              "                                                   16                 0.0   \n",
              "                                                   32                 0.0   \n",
              "meta-llama/Meta-Llama-3-8B-Instruct (quantized)    1                  0.0   \n",
              "                                                   2                  0.0   \n",
              "                                                   4                  0.0   \n",
              "                                                   8                  0.0   \n",
              "                                                   16                 0.0   \n",
              "                                                   32                 0.0   \n",
              "\n",
              "                                                                                \n",
              "                                                              median  min  max  \n",
              "model                                              batch_size                   \n",
              "meta-llama/Meta-Llama-3-8B-Instruct (non quanti... 1             0.0  0.0  0.0  \n",
              "                                                   2             0.0  0.0  0.0  \n",
              "                                                   4             0.0  0.0  0.0  \n",
              "                                                   8             0.0  0.0  0.0  \n",
              "                                                   16            0.0  0.0  0.0  \n",
              "                                                   32            0.0  0.0  0.0  \n",
              "meta-llama/Meta-Llama-3-8B-Instruct (quantized)    1             0.0  0.0  0.0  \n",
              "                                                   2             0.0  0.0  0.0  \n",
              "                                                   4             0.0  0.0  0.0  \n",
              "                                                   8             0.0  0.0  0.0  \n",
              "                                                   16            0.0  0.0  0.0  \n",
              "                                                   32            0.0  0.0  0.0  "
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-8bac9d56-cd3b-44e2-8adb-859eb5a557ed\" class=\"colab-df-container\">\n",
              "    <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead tr th {\n",
              "        text-align: left;\n",
              "    }\n",
              "\n",
              "    .dataframe thead tr:last-of-type th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr>\n",
              "      <th></th>\n",
              "      <th></th>\n",
              "      <th colspan=\"4\" halign=\"left\">time_spent</th>\n",
              "      <th colspan=\"4\" halign=\"left\">peak_memory</th>\n",
              "      <th colspan=\"4\" halign=\"left\">memory_used</th>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th></th>\n",
              "      <th></th>\n",
              "      <th>mean</th>\n",
              "      <th>median</th>\n",
              "      <th>min</th>\n",
              "      <th>max</th>\n",
              "      <th>mean</th>\n",
              "      <th>median</th>\n",
              "      <th>min</th>\n",
              "      <th>max</th>\n",
              "      <th>mean</th>\n",
              "      <th>median</th>\n",
              "      <th>min</th>\n",
              "      <th>max</th>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>model</th>\n",
              "      <th>batch_size</th>\n",
              "      <th></th>\n",
              "      <th></th>\n",
              "      <th></th>\n",
              "      <th></th>\n",
              "      <th></th>\n",
              "      <th></th>\n",
              "      <th></th>\n",
              "      <th></th>\n",
              "      <th></th>\n",
              "      <th></th>\n",
              "      <th></th>\n",
              "      <th></th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th rowspan=\"6\" valign=\"top\">meta-llama/Meta-Llama-3-8B-Instruct (non quantized)</th>\n",
              "      <th>1</th>\n",
              "      <td>2.710599</td>\n",
              "      <td>2.700341</td>\n",
              "      <td>2.678953</td>\n",
              "      <td>2.827868</td>\n",
              "      <td>27330.329883</td>\n",
              "      <td>27322.611816</td>\n",
              "      <td>27316.195312</td>\n",
              "      <td>27401.010742</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>2.723676</td>\n",
              "      <td>2.703755</td>\n",
              "      <td>2.687139</td>\n",
              "      <td>2.975231</td>\n",
              "      <td>27356.662793</td>\n",
              "      <td>27337.332031</td>\n",
              "      <td>27329.783203</td>\n",
              "      <td>27691.366211</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>2.791647</td>\n",
              "      <td>2.766969</td>\n",
              "      <td>2.704074</td>\n",
              "      <td>2.960860</td>\n",
              "      <td>27437.945117</td>\n",
              "      <td>27373.541992</td>\n",
              "      <td>27348.416016</td>\n",
              "      <td>27668.665039</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>8</th>\n",
              "      <td>2.975514</td>\n",
              "      <td>2.903494</td>\n",
              "      <td>2.797222</td>\n",
              "      <td>3.299892</td>\n",
              "      <td>27601.015039</td>\n",
              "      <td>27465.856445</td>\n",
              "      <td>27408.291992</td>\n",
              "      <td>27982.358398</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>16</th>\n",
              "      <td>3.659630</td>\n",
              "      <td>3.794552</td>\n",
              "      <td>2.916015</td>\n",
              "      <td>5.608432</td>\n",
              "      <td>28320.963184</td>\n",
              "      <td>28429.477051</td>\n",
              "      <td>27566.749023</td>\n",
              "      <td>30343.648438</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>32</th>\n",
              "      <td>5.873408</td>\n",
              "      <td>5.505301</td>\n",
              "      <td>3.410552</td>\n",
              "      <td>9.172674</td>\n",
              "      <td>30349.247021</td>\n",
              "      <td>29994.594727</td>\n",
              "      <td>27916.552734</td>\n",
              "      <td>33378.288086</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th rowspan=\"6\" valign=\"top\">meta-llama/Meta-Llama-3-8B-Instruct (quantized)</th>\n",
              "      <th>1</th>\n",
              "      <td>0.116982</td>\n",
              "      <td>0.115986</td>\n",
              "      <td>0.113212</td>\n",
              "      <td>0.125096</td>\n",
              "      <td>5809.035913</td>\n",
              "      <td>5802.158691</td>\n",
              "      <td>5800.893066</td>\n",
              "      <td>5918.186035</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>0.119253</td>\n",
              "      <td>0.118533</td>\n",
              "      <td>0.115492</td>\n",
              "      <td>0.132108</td>\n",
              "      <td>5813.593896</td>\n",
              "      <td>5807.471924</td>\n",
              "      <td>5802.791992</td>\n",
              "      <td>5922.230469</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>0.120534</td>\n",
              "      <td>0.119629</td>\n",
              "      <td>0.115809</td>\n",
              "      <td>0.137438</td>\n",
              "      <td>5866.504346</td>\n",
              "      <td>5816.717773</td>\n",
              "      <td>5810.042969</td>\n",
              "      <td>6448.610352</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>8</th>\n",
              "      <td>0.117180</td>\n",
              "      <td>0.116799</td>\n",
              "      <td>0.115279</td>\n",
              "      <td>0.119850</td>\n",
              "      <td>5916.394409</td>\n",
              "      <td>5838.755859</td>\n",
              "      <td>5831.189453</td>\n",
              "      <td>6290.337891</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>16</th>\n",
              "      <td>0.153876</td>\n",
              "      <td>0.131377</td>\n",
              "      <td>0.115750</td>\n",
              "      <td>0.276783</td>\n",
              "      <td>6872.991016</td>\n",
              "      <td>6713.966797</td>\n",
              "      <td>5866.510742</td>\n",
              "      <td>9058.218750</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>32</th>\n",
              "      <td>0.262748</td>\n",
              "      <td>0.230977</td>\n",
              "      <td>0.119662</td>\n",
              "      <td>0.496914</td>\n",
              "      <td>8876.751514</td>\n",
              "      <td>8431.684570</td>\n",
              "      <td>6518.228516</td>\n",
              "      <td>12538.600586</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.0</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>\n",
              "    <div class=\"colab-df-buttons\">\n",
              "\n",
              "  <div class=\"colab-df-container\">\n",
              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-8bac9d56-cd3b-44e2-8adb-859eb5a557ed')\"\n",
              "            title=\"Convert this dataframe to an interactive table.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "\n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    .colab-df-buttons div {\n",
              "      margin-bottom: 4px;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "    <script>\n",
              "      const buttonEl =\n",
              "        document.querySelector('#df-8bac9d56-cd3b-44e2-8adb-859eb5a557ed button.colab-df-convert');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      async function convertToInteractive(key) {\n",
              "        const element = document.querySelector('#df-8bac9d56-cd3b-44e2-8adb-859eb5a557ed');\n",
              "        const dataTable =\n",
              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                    [key], {});\n",
              "        if (!dataTable) return;\n",
              "\n",
              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "          + ' to learn more about interactive tables.';\n",
              "        element.innerHTML = '';\n",
              "        dataTable['output_type'] = 'display_data';\n",
              "        await google.colab.output.renderOutput(dataTable, element);\n",
              "        const docLink = document.createElement('div');\n",
              "        docLink.innerHTML = docLinkHtml;\n",
              "        element.appendChild(docLink);\n",
              "      }\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "\n",
              "<div id=\"df-de7c65f3-eb72-4f9e-8a20-9913d8098579\">\n",
              "  <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-de7c65f3-eb72-4f9e-8a20-9913d8098579')\"\n",
              "            title=\"Suggest charts\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "     width=\"24px\">\n",
              "    <g>\n",
              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
              "    </g>\n",
              "</svg>\n",
              "  </button>\n",
              "\n",
              "<style>\n",
              "  .colab-df-quickchart {\n",
              "      --bg-color: #E8F0FE;\n",
              "      --fill-color: #1967D2;\n",
              "      --hover-bg-color: #E2EBFA;\n",
              "      --hover-fill-color: #174EA6;\n",
              "      --disabled-fill-color: #AAA;\n",
              "      --disabled-bg-color: #DDD;\n",
              "  }\n",
              "\n",
              "  [theme=dark] .colab-df-quickchart {\n",
              "      --bg-color: #3B4455;\n",
              "      --fill-color: #D2E3FC;\n",
              "      --hover-bg-color: #434B5C;\n",
              "      --hover-fill-color: #FFFFFF;\n",
              "      --disabled-bg-color: #3B4455;\n",
              "      --disabled-fill-color: #666;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart {\n",
              "    background-color: var(--bg-color);\n",
              "    border: none;\n",
              "    border-radius: 50%;\n",
              "    cursor: pointer;\n",
              "    display: none;\n",
              "    fill: var(--fill-color);\n",
              "    height: 32px;\n",
              "    padding: 0;\n",
              "    width: 32px;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart:hover {\n",
              "    background-color: var(--hover-bg-color);\n",
              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "    fill: var(--button-hover-fill-color);\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart-complete:disabled,\n",
              "  .colab-df-quickchart-complete:disabled:hover {\n",
              "    background-color: var(--disabled-bg-color);\n",
              "    fill: var(--disabled-fill-color);\n",
              "    box-shadow: none;\n",
              "  }\n",
              "\n",
              "  .colab-df-spinner {\n",
              "    border: 2px solid var(--fill-color);\n",
              "    border-color: transparent;\n",
              "    border-bottom-color: var(--fill-color);\n",
              "    animation:\n",
              "      spin 1s steps(1) infinite;\n",
              "  }\n",
              "\n",
              "  @keyframes spin {\n",
              "    0% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "      border-left-color: var(--fill-color);\n",
              "    }\n",
              "    20% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    30% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    40% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    60% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    80% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "    90% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "  }\n",
              "</style>\n",
              "\n",
              "  <script>\n",
              "    async function quickchart(key) {\n",
              "      const quickchartButtonEl =\n",
              "        document.querySelector('#' + key + ' button');\n",
              "      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
              "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
              "      try {\n",
              "        const charts = await google.colab.kernel.invokeFunction(\n",
              "            'suggestCharts', [key], {});\n",
              "      } catch (error) {\n",
              "        console.error('Error during call to suggestCharts:', error);\n",
              "      }\n",
              "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
              "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
              "    }\n",
              "    (() => {\n",
              "      let quickchartButtonEl =\n",
              "        document.querySelector('#df-de7c65f3-eb72-4f9e-8a20-9913d8098579 button');\n",
              "      quickchartButtonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "    })();\n",
              "  </script>\n",
              "</div>\n",
              "\n",
              "    </div>\n",
              "  </div>\n"
            ],
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "dataframe",
              "summary": "{\n  \"name\": \"results_df\",\n  \"rows\": 12,\n  \"fields\": [\n    {\n      \"column\": [\n        \"time_spent\",\n        \"mean\"\n      ],\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 1.9183610954923966,\n        \"min\": 0.11698179244995117,\n        \"max\": 5.873407602310181,\n        \"num_unique_values\": 12,\n        \"samples\": [\n          0.15387614965438842,\n          0.11718039512634278,\n          2.7105991721153258\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": [\n        \"time_spent\",\n        \"median\"\n      ],\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 1.8596424589601528,\n        \"min\": 0.11598587036132812,\n        \"max\": 5.505301237106323,\n        \"num_unique_values\": 12,\n        \"samples\": [\n          0.13137686252593994,\n          0.11679911613464355,\n          2.700340986251831\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": [\n        \"time_spent\",\n        \"min\"\n      ],\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 1.448543259956968,\n        \"min\": 0.11321187019348145,\n        \"max\": 3.4105520248413086,\n        \"num_unique_values\": 12,\n        \"samples\": [\n          0.11574983596801758,\n          0.11527872085571289,\n          2.678952932357788\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": [\n        \"time_spent\",\n        \"max\"\n      ],\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 2.8047201182034,\n        \"min\": 0.11985039710998535,\n        \"max\": 9.17267370223999,\n        \"num_unique_values\": 12,\n        \"samples\": [\n          0.276782751083374,\n          0.11985039710998535,\n          2.8278682231903076\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": [\n        \"peak_memory\",\n        \"mean\"\n      ],\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 11307.044538936007,\n        \"min\": 5809.035913085938,\n        \"max\": 30349.247021484374,\n        \"num_unique_values\": 12,\n        \"samples\": [\n          6872.991015625,\n          5916.3944091796875,\n          27330.3298828125\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": [\n        \"peak_memory\",\n        \"median\"\n      ],\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 11318.21418929091,\n        \"min\": 5802.15869140625,\n        \"max\": 29994.5947265625,\n        \"num_unique_values\": 12,\n        \"samples\": [\n          6713.966796875,\n          5838.755859375,\n          27322.61181640625\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": [\n        \"peak_memory\",\n        \"min\"\n      ],\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 11253.052883598928,\n        \"min\": 5800.89306640625,\n        \"max\": 27916.552734375,\n        \"num_unique_values\": 12,\n        \"samples\": [\n          5866.5107421875,\n          5831.189453125,\n          27316.1953125\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": [\n        \"peak_memory\",\n        \"max\"\n      ],\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 11420.357050702669,\n        \"min\": 5918.18603515625,\n        \"max\": 33378.2880859375,\n        \"num_unique_values\": 12,\n        \"samples\": [\n          9058.21875,\n          6290.337890625,\n          27401.0107421875\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": [\n        \"memory_used\",\n        \"mean\"\n      ],\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.0,\n        \"min\": 0.0,\n        \"max\": 0.0,\n        \"num_unique_values\": 1,\n        \"samples\": [\n          0.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": [\n        \"memory_used\",\n        \"median\"\n      ],\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.0,\n        \"min\": 0.0,\n        \"max\": 0.0,\n        \"num_unique_values\": 1,\n        \"samples\": [\n          0.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": [\n        \"memory_used\",\n        \"min\"\n      ],\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.0,\n        \"min\": 0.0,\n        \"max\": 0.0,\n        \"num_unique_values\": 1,\n        \"samples\": [\n          0.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": [\n        \"memory_used\",\n        \"max\"\n      ],\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.0,\n        \"min\": 0.0,\n        \"max\": 0.0,\n        \"num_unique_values\": 1,\n        \"samples\": [\n          0.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}"
            }
          },
          "metadata": {},
          "execution_count": 11
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "import matplotlib.pyplot as plt\n",
        "\n",
        "# Group and aggregate your data\n",
        "grouped_data = results_df.groupby(['model', 'batch_size'])[['peak_memory', 'time_spent']].agg(['mean'])\n",
        "grouped_data['peak_memory'] /= 1024  # Convert peak memory from KB to GB\n",
        "\n",
        "# Unstack the model to get mean values side by side for each batch size\n",
        "unstacked_data = grouped_data.unstack('model').sort_index()\n",
        "\n",
        "# Plot for 'peak_memory'\n",
        "ax = unstacked_data['peak_memory', 'mean'].plot(kind='bar', figsize=(12, 7), color=['salmon', 'lightgreen' ], edgecolor='black')\n",
        "ax.set_title('Mean Peak Memory by Model and Batch Size', fontsize=14)\n",
        "ax.set_xlabel('Batch Size', fontsize=12)\n",
        "ax.set_ylabel('Mean Peak Memory (GB)', fontsize=12)\n",
        "ax.legend(title='Model', labels=['Llama 3 (non-quantized)', 'Llama 3 (quantized)'], loc='upper left')\n",
        "ax.grid(True, linestyle='--', linewidth=0.5)\n",
        "plt.tight_layout()\n",
        "plt.show()\n",
        "\n",
        "# Plot for 'time_spent'\n",
        "ax = unstacked_data['time_spent', 'mean'].plot(kind='bar', figsize=(12, 7), color=['salmon', 'lightgreen'], edgecolor='black')\n",
        "ax.set_title('Mean Time Spent by Model and Batch Size', fontsize=14)\n",
        "ax.set_xlabel('Batch Size', fontsize=12)\n",
        "ax.set_ylabel('Mean Time Spent (s)', fontsize=12)\n",
        "ax.legend(title='Model', labels=['Llama 3 (non-quantized)', 'Llama 3 (quantized)'])\n",
        "ax.grid(True, linestyle='--', linewidth=0.5)\n",
        "plt.tight_layout()\n",
        "plt.show()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "id": "CgnPiR9AWG1i",
        "outputId": "eefd3021-fc75-4c06-8651-09cb61c01a1f"
      },
      "id": "CgnPiR9AWG1i",
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1200x700 with 1 Axes>"
            ],
            "image/png": "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gN1yxRVXaPjw4SopKdGKFSvUrVs3HXTQQfwfHPYpN910k6qqqvS3v/1NH374YdtHeHi4Hn30UX344Yf673//6/WYwG678cYbNX36dNXX1+tPf/qTbr31Vv3pT3/SlClTdNZZZ+mhhx7SDTfc4PWYwG47+eST9eWXX0qSXnvtNR166KGqra3VQQcdpPr6ek2cOFFvvvmmx1MCu6e6ulqnnnqq4uLilJaWpmuuuUbNzc1t95eWlio7O9vDCfFtgRBXK8Ue9vrrr//g/WvWrNGf//zndgcGoLNJS0vT+++/r/33319S64Wff//73+utt97Shx9+qLi4OGVkZNA5Or25c+dq6tSpOv7443XzzTcrMjJSkZGRWrRo0XZvWwU6qwEDBui2227TL3/5Sy1atEg5OTl67LHHNGXKFEnSK6+8ossvv1z5+fkeTwrsnq5du2rx4sXKzs7WT37yE5100km64oor2u6/++679fDDD2v+/PkeTgnsnj/+8Y9655139I9//EOVlZW68cYbNXz4cL388suKiopScXGx0tPTv/dMKrjFUgp7XFhYmAKBwA/+dKZAIMA36+jU4uPjNXv2bA0ZMqTd7RdeeKFee+01Pf300zr00EPpHPuE2tpa/eEPf9DChQv11FNPacyYMVq4cCFLKewzYmNjtXz5cmVlZUmSoqKitGDBAg0bNkyStH79eg0dOlR1dXVejgnstsTERH3yyScaMWKE0tLS9N5772nEiBFt969evVojRoygdXRqffr00WOPPaZDDz1UklRWVqZjjz1WiYmJev3111VZWck/HvsIb9/DHpeenq6XX35ZLS0tO/zgX16wLxg8eLDmzZu33e133323Jk2apBNOOMGDqYC9o2vXrnrsscd01VVX6YgjjuBFHPY5PXv21LJlyyRJ+fn5am5ubvtckpYuXaoePXp4NR6wx0ycOFHPPPOMJGn06NH66KOP2t3/4YcfKjMz04PJgD2ntLRUffr0afs8JSVF77//vmpqavSLX/xC9fX1Hk6H7+Kn72GPy8nJUW5uriZNmrTD+3/sLCqgMzjppJP0zDPP6Ne//vV29919991qaWnR/fff78FkwN5z+umn6+CDD1Zubm67F3tAZzdlyhSdeeaZmjRpkj744ANdfvnl+stf/qItW7YoEAjoH//4h0455RSvxwR22y233KIJEyZo06ZNOvjgg/XXv/5Vc+fO1ZAhQ7RixQo999xzvH5Bp5eVlaW8vLx2143q1q2b3n33Xf385z/XSSed5OF0+C7evoc97tNPP1VdXZ2OPvroHd5fV1enefPmaeLEiY4nAwAA2F5LS4tuueUWffHFFxo/fryuvPJKPffcc7r88stVX1+v448/Xnfffbfi4uK8HhXYbatXr9bVV1+t//znP6qtrZUkRURE6IADDtBll12mE0880dsBgd108cUXq6ioSC+88MJ299XU1OjII4/U3LlzOfPbJ1hKAQAAAIAxoVBIJSUlamlpUUpKiiIjI70eCdgjKioqtGnTprbrAn5XTU2N5s+fz0kSPsE1pQAAAADAmEAgoLS0NKWnp7ctpAoKCnTOOed4PBmwe5KSkhQWFqZHHnlEy5cvlyQtX75cF1xwgc455xzNnTuXhZSPcKYUAAAAAECLFi3SmDFjeFsTOrV33nlHkyZNUteuXVVfX69XXnlFZ555pkaOHKmWlhZ9/PHHevfdd3X44Yd7PSrEUgoAAAAATHj99dd/8P41a9boz3/+M0spdGrjx4/X4YcfrhtvvFHPPvusfv/73+uCCy7QP/7xD0nSVVddpdzcXL377rseTwqJpRQAAAAAmBAWFvajPwk7EAiwlEKnlpCQoNzcXA0YMEAtLS2Kjo7WnDlzNHr0aEnSkiVLdMQRR2jz5s0eTwqJa0oBAAAAgAnp6el6+eWX1dLSssOP+fPnez0isEcEAgFJrYvYmJgYJSQktN3XrVs3VVVVeTUavoOlFAAAAAAYkJOTo9zc3O+9/8fOogI6g759+yo/P7/t8y+++EJZWVltn2/YsEHp6elejIYdiPB6AAAAAADA3nfZZZeprq7ue+8fMGCAPvzwQ4cTAXveBRdc0O4tqMOHD293/9tvv81Fzn2Ea0oBAAAAAADAOd6+BwAAAAAAAOdYSgEAAAAAAMA5llIAAAAAAABwjqUUAAAAAAAAnGMpBQAA4COPPvqoAoGA5s2bt9d/r0AgoOuuu26v/z4AAAA7wlIKAACY9c0C6NsfPXr00GGHHaa33367w7/uTTfdpFdffXXPDbqLPvvsMx1zzDHKzMxUTEyMsrKydPzxx+vpp5/2bCYAAIDvivB6AAAAAK/9/e9/V3Z2tkKhkIqLi/Xoo4/qF7/4hd544w0dd9xxu/zr3XTTTTrllFN04okn7vlhf8QLL7yg0047TaNGjdIf//hHJSUlae3atfrkk0/04IMP6owzzmh77NatWxURwctBAADgDV6FAAAA84455hiNHTu27fNzzz1XaWlpeuaZZzq0lPLSddddp6FDh+rLL79UVFRUu/tKSkrafR4TE+NyNAAAgHZ4+x4AAMB3JCYmqkuXLtudRXTHHXdo/PjxSk5OVpcuXZSTk6MXX3yx3WMCgYDq6ur02GOPtb0l8De/+U3b/Rs3btS5556rjIwMRUdHKzs7WxdccIG2bdvW7tcJBoO69NJLlZqaqri4OJ100kkqLS390dlXr16tAw44YLuFlCT16NFju1m/uabUunXrtnsr47c/vm327Nk6+uijlZCQoNjYWE2cOFH/+9//fnQ2AACAb+NMKQAAYF5VVZXKysoUCoVUUlKif/7zn6qtrdXUqVPbPe7OO+/UCSecoClTpmjbtm169tln9atf/Upvvvmmjj32WEnSE088od/+9rcaN26cpk2bJknq37+/JGnTpk0aN26cKisrNW3aNA0ePFgbN27Uiy++qPr6+naLpIsuukhJSUm69tprtW7dOs2cOVMXXnihnnvuuR/8b+nTp48++OADFRYWqlevXjv9HKSmpuqJJ55od1tjY6P+9Kc/tZvrv//9r4455hjl5OTo2muvVVhYmB555BEdfvjh+vTTTzVu3Lid/j0BAIBtLKUAAIB5RxxxRLvPo6Oj9fDDD+vII49sd/vKlSvVpUuXts8vvPBCjRkzRjNmzGhbSk2dOlXnn3+++vXrt91S66qrrtLmzZs1e/bsdm8X/Pvf/65QKNTuscnJyXr33XfbzlJqaWnRXXfdpaqqKiUkJHzvf8sVV1yhc889V/3799dBBx2kgw8+WD//+c81fvx4hYV9/0nycXFx2837hz/8QbW1tXrvvfckSaFQSOeff37bheC/me28887TsGHDdPXVV+vdd9/93t8DAADg23j7HgAAMO+ee+7Re++9p/fee09PPvmkDjvsMP32t7/Vyy+/3O5x315IVVRUqKqqShMmTND8+fN/9PdoaWnRq6++quOPP77dQuob332L3LRp09rdNmHCBDU3N2v9+vU/+Pucc845euedd3TooYfqs88+0w033KAJEyZo4MCB+vzzz390zm88/vjjuvfee3XbbbfpsMMOkyQtXLhQ+fn5OuOMM7RlyxaVlZWprKxMdXV1+tnPfqZPPvlELS0tO/17AAAA2zhTCgAAmDdu3Lh2i6LJkydr9OjRuvDCC3Xccce1vX3tzTff1I033qiFCxcqGAy2Pf67C6UdKS0tVXV1tYYPH75TM2VlZbX7PCkpSVLrMuzHHHXUUTrqqKNUX1+v3NxcPffcc7r//vt13HHHafny5dtdW+q7Fi5cqPPPP1+TJ0/WpZde2nZ7fn6+JOmss8763q+tqqpqmxUAAOCHsJQCAAD4jrCwMB122GG68847lZ+fr2HDhunTTz/VCSecoEMOOUT33nuv0tPTFRkZqUceeURPP/30Hp8hPDx8h7d/921+PyQ2NlYTJkzQhAkTlJKSouuvv15vv/32Dy6VKioqdPLJJ2vQoEF66KGH2t33zVlQt99+u0aNGrXDr+/atetOzwcAAGxjKQUAALADTU1NkqTa2lpJ0ksvvaSYmBjNmjVL0dHRbY975JFHtvvaHZ05lZqaqvj4eC1ZsmQvTfzDvjkTrKio6Hsf09LSoilTpqiyslLvv/++YmNj293/zQXb4+Pjt7sOFwAAwK7imlIAAADf0djYqHfffVdRUVEaMmSIpNYzlwKBgJqbm9set27dOr366qvbfX1cXJwqKyvb3RYWFqYTTzxRb7zxhubNm7fd1+zKGVA/5IMPPtjh7W+99ZYkab/99vver73++us1a9YsPfPMM8rOzt7u/pycHPXv31933HFH27Lu20pLSzs4NQAAsIgzpQAAgHlvv/22li9fLkkqKSnR008/rfz8fF155ZWKj4+XJB177LGaMWOGjj76aJ1xxhkqKSnRPffcowEDBuirr75q9+vl5OTo/fff14wZM5SRkaHs7GwdeOCBuummm/Tuu+9q4sSJmjZtmoYMGaKioiK98MIL+uyzz5SYmLjb/y2TJk1Sdna2jj/+ePXv3191dXV6//339cYbb+iAAw7Q8ccfv8OvW7x4sW644QYdcsghKikp0ZNPPtnu/qlTpyosLEwPPfSQjjnmGA0bNkxnn322MjMztXHjRn344YeKj4/XG2+8sdv/DQAAwAaWUgAAwLxrrrmm7X/HxMRo8ODBuu+++3Teeee13X744Yfr3//+t2655RZdcsklys7O1q233qp169Ztt5SaMWOGpk2bpquvvlpbt27VWWedpQMPPFCZmZmaPXu2/va3v+mpp55SdXW1MjMzdcwxx2z3VrmOeuihh/Taa6/p+eef16ZNmxQKhdSvXz/99a9/1RVXXKGIiB2//NuyZYtCoZA+/vhjffzxx9vdP3XqVEnSoYceqi+++EI33HCD7r77btXW1qpnz5468MAD2z1fAAAAPyYQ2lPnigMAAAAAAAA7iWtKAQAAAAAAwDmWUgAAAAAAAHCOpRQAAAAAAACcYykFAAAAAAAA51hKAQAAAAAAwDmWUgAAAAAAAHCOpRQAAAAAAACcYykFAAAAAAAA51hKAQAAAAAAwDmWUgAAAAAAAHCOpRQAAAAAAACcYykFAAAAAAAA51hKAQAAAAAAwLn/HxfRsuKttrJxAAAAAElFTkSuQmCC\n"
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1200x700 with 1 Axes>"
            ],
            "image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAKyCAYAAAAEvm1SAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAADBY0lEQVR4nOzdd3QUdf898LvpvZFGSCWkAgmE0JWiSJEiiqKIFAUVVBAVUFSkCAIKPAgKKEiRR0FFQB5RUFSQYoAkhBpKQnogENJILzu/P/hmfyzJQrIuMxs+93VOzjEzs7t3JzcLvJ2ikiRJAhERERERERERkYxMlA5ARERERERERETi4VCKiIiIiIiIiIhkx6EUERERERERERHJjkMpIiIiIiIiIiKSHYdSREREREREREQkOw6liIiIiIiIiIhIdhxKERERERERERGR7DiUIiIiIiIiIiIi2XEoRUREREREREREsuNQioiISAFjx46FSqVCamqq0lFIh3379kGlUmH27NlKR1GUofaDv78//P39DZLpXlOpVOjVq5fSMe4JJX8OTakDREQkDw6liIjonklNTYVKpYJKpYKnpyeqq6vr3S4xMVGzXVP8B4u/v78mf0O+mtogqrq6Gp999hm6du0KR0dHWFhYoHnz5ujcuTPeeOMNHD9+XOmId1Tbw7FjxyodpcFqu2JpaYnr16/Xu01+fj6sra0125IyNmzYUOd33MTEBE5OTnjwwQexfv36f/0axjogvX79Ot555x20bt0aNjY2sLGxgZ+fHx5++GHMmTMHOTk5SkckIiIjZ6Z0ACIiuv+ZmZkhJycHv/zyC4YMGVJn/VdffQUTk6b7/0mmTJmCgoICrWUbNmxAWloaXn/9dTg5OWmtc3JywoIFC/DOO++gRYsW8gXVQ01NDQYMGIC9e/fCy8sLTz31FDw8PFBQUID4+HgsX74ctra2aN++vdJR7ztmZmaorKzEN998g8mTJ9dZ/80336C8vBxmZmY6B74kn4cffhgPPPAAgJuD3IyMDPz000944YUXcPbsWXzyyScKJzSszMxMdOvWDRkZGWjXrh2ef/55ODk54fLlyzh8+DBmz56N7t27w8PDQ/OYP/74Q8HERERkjDiUIiKie65bt244ceIE1q1bV2coVV1djf/+97/o06cP9u/fr1DCf2fKlCl1lu3btw9paWmYMmVKvUd/OTk5oXnz5vc+3L/07bffYu/evejfvz927twJc3NzrfVXrlxBdna2Qunub4GBgZAkCevXr693KLVu3TqEhIQAAM6fPy93PLpNnz598M4772gtS01NRZs2bbBixQrMnTsX1tbWCqUzvFmzZiEjIwNz587FzJkz66w/depUnYF8YGCgTOmIiKipaLr/W5qIiJoMa2trPPPMM9i1axeuXr2qte7nn39GTk4OXnjhBZ2PlyQJ69atQ/fu3eHg4AAbGxtER0dj3bp1dbbNzs7GrFmz0KVLF7i7u8PS0hL+/v545ZVX6rw28P+v7ZSSkoLly5cjNDQUlpaW8PPzw5w5c6BWq//9DqhHfdeUuvUUncOHD6N3796wt7eHm5sbXnnlFZSVlQEAdu3aha5du8LW1hYeHh6YPn26ziNlfvrpJzz88MNwdnaGlZUV2rRpg8WLF6OmpqZBOf/55x8AwMsvv1xnIAUAnp6eiIqK0lrWq1cvqFQqlJeX45133oGvry+srKwQFhaGFStWQJKkf5W19nSpDRs24LfffkO3bt1gY2ODZs2aYcyYMVqnu23YsAEBAQEAgI0bN2qdYrVv374G7QMAOHjwIHr16gV7e3s4OTlh2LBhSEpK0qxXq9Xw8/NDs2bNUFFRUe9z9OjRA2ZmZsjMzGzw6z7//PNISEhAfHy81vITJ07g+PHjeP7553U+trq6GkuXLkVkZCSsra3h6OiI3r1743//+1+925eVleGdd96Bj4+PZv+vWbPmjvlSUlIwfvx4+Pr6wtLSEs2bN8fYsWORlpbW4PdYn8rKSqxYsQL9+vWDj48PLC0t4e7ujieeeKLe00Ub04lbrV27Fm3atIGVlRV8fHwwffp0lJeX/6vst/L390dISAgqKipw48YNrXXr1q3DY489Bn9/f1hZWcHFxQX9+vXDX3/9pbXd7Nmz0bt3bwDAnDlzdJ4KXFlZif/85z/o2LEj7O3tYWdnh/DwcLz55pvIz8+vk624uBivv/46vLy8YGlpiYiICGzdurXB7632s2HSpEn1rm/bti18fHzq7I9bh/S3nuKt6+v239OTJ0/imWeeQfPmzWFhYQE/Pz9MmjRJ58+YiIiMG4+UIiIiWbzwwgv44osvsGnTJrz11lua5evWrYOLiwuGDh1a7+MkScLIkSOxefNmBAUF4dlnn4WFhQV+//13jBs3DmfPnsXixYs12//9999YsmQJHn74YXTu3Bnm5uY4fvw4Vq1ahT179iA+Ph6Ojo51XmfatGnYv38/Bg0ahH79+mHHjh2YPXs2KisrMX/+fIPvjzs5cuQIFi1ahH79+uHll1/GX3/9hVWrVqGoqAiDBw/G2LFj8dhjj6Fr167YtWsXPvnkE9jZ2eGDDz7Qep4ZM2Zg4cKFaNGiBZ544gk4OjriwIEDmDZtGo4cOYIffvjhrlmaNWsGALhw4UKj38fw4cNx/PhxDBs2DADw448/YvLkyUhNTcWSJUv+ddadO3di165dGDx4MLp164a///4bX3/9NZKTk3Hw4EEAQLt27fD666/j008/RWRkpFbPGnr9spiYGCxYsAD9+/fHpEmTcObMGWzfvh0HDhxATEwMWrZsCRMTE4wfPx4ffPABfvzxRzz77LNaz3H+/HkcOHAAAwcOhLe3d4P34ZgxY/D+++9j/fr1WsO/r776Cqamphg9enS91yySJAlPPvkkfvrpJwQHB+PVV19FSUkJvvvuOwwZMgRLly7FG2+8odlerVZjyJAh2Lt3L9q2bYtnn30W169fxxtvvKEZiNzuyJEj6NevH0pKSjBo0CAEBQUhNTUV33zzDX799Vf8888/aNmyZYPf663y8vIwZcoUPPjgg3j00Ufh7OyMS5cuYefOnfj111/x999/o2PHjnUe15BO1Prwww/xwQcfwMPDAy+++CLMzc3x3XffITExUa/M9UlLS8P58+fh7e0Nd3d3rXWvvvoqIiMj0adPH7i5uSErKws7duxAnz59sG3bNjz22GMAbg55U1NTsXHjRvTs2VPrAuy1RyKVlZXhkUcewaFDhxAUFITnn38elpaWuHjxIr744guMHj0azs7OmsdVVVWhb9++yM/Px7Bhw1BaWootW7Zg+PDh2L17N/r27XvX93brZ0OnTp302j9OTk6YNWtWneU1NTVYunQpSktLYWNjo1m+c+dODB8+HCYmJnjsscfg4+ODs2fP4rPPPsOePXtw5MgRrfdJRERNgERERHSPpKSkSACkfv36SZIkSW3atJFat26tWX/58mXJzMxMmjRpkiRJkmRpaSn5+flpPceXX34pAZCef/55qbKyUrO8oqJCGjx4sARAio2N1SzPycmRbty4USfLxo0bJQDSvHnztJaPGTNGAiAFBARI2dnZmuXXrl2T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P63rr79eHR0dmjdvnu69915FR0d7PSrgmG3btulnP/uZ/va3v6mtrU2SFBoaqqlTp+q6667TBRdc4O2AgAO+//3va8+ePXr22WcPu2/fvn0666yztHr1aq4E9xGWUgAAAABgRF9fn+rq6tTb26ukpCQNGjTI65EAxzQ1Nam6ujrwHoH/bt++fVqzZg0XUPgI7ykFAAAAAEYEBQUpJSVFqampgYVUZWWlLrvsMo8nAz6+hIQEBQcH66GHHlJZWZkkqaysTFdddZUuu+wyrV69moWUz3ClFAAAAAAYtm7dOuXn5/OSJpz0Xn31VZ1//vmKiYlRR0eHnn/+eV188cWaOHGient79eabb2rZsmU688wzvR4V/8JSCgAAAAA+xV588cWj3r99+3b96Ec/YimFk9706dN15pln6o477tBTTz2l733ve7rqqqv0y1/+UpJ04403qri4WMuWLfN4UhzCUgoAAAAAPsWCg4OP+S9kBwUFsZTCSS8uLk7FxcXKzc1Vb2+vwsPDtWrVKk2ePFmStGHDBs2ZM0c1NTUeT4pDeE8pAAAAAPgUS01N1XPPPafe3t4jfqxZs8brEQHHBAUFSepfxkZERCguLi5w3+DBg9XS0uLVaDgCllIAAAAA8ClWUFCg4uLij7z/WFdRASeL4cOHq7y8PPD5e++9p6ysrMDnu3btUmpqqhej4SOEej0AAAAAAOCTc91116m9vf0j78/NzdXKlStdnAj4ZFx11VUDXoY6fvz4Afe/8sorvMm5z/CeUgAAAAAAAHAdL98DAAAAAACA61hKAQAAAAAAwHUspQAAAAAAAOA6llIAAAAAAABwHUspAAAADz388MMKCgpSUVHRJ/69goKCdOutt37i3wcAAOB4sJQCAABmHFoAffhj6NChOuOMM/TKK6/8x7/unXfeqRdeeMG5QU/QO++8o7lz5yo9PV0RERHKysrSvHnz9MQTT3g2EwAAwLGEej0AAACA237xi18oJydHfX19qq2t1cMPP6wvfvGLeumll3Tuueee8K9355136stf/rIuuOAC54c9hmeffVZf+9rXNGnSJP3gBz9QQkKCduzYobfeekv/+7//q29+85uBx+7fv1+hoTz9AwAA/sCzEgAAYM7cuXM1ZcqUwOeXX365UlJS9OSTT/5HSykv3XrrrRo7dqzef/99hYWFDbivrq5uwOcRERFujgYAAHBUvHwPAACYFx8fr8jIyMOuIvrtb3+r6dOna8iQIYqMjFRBQYH+8pe/DHhMUFCQ2tvb9cgjjwReEvjtb387cH9VVZUuv/xypaWlKTw8XDk5ObrqqqvU3d094Nfp6urS4sWLlZycrOjoaF144YWqr68/5uzbtm3T1KlTD1tISdLQoUMPm/XQe0pVVFQc9lLGD398WGFhob7whS8oLi5OUVFRmjVrlv75z38eczYAAICj4UopAABgTktLixoaGtTX16e6ujr94Q9/UFtbmxYsWDDgcb/73e903nnnaf78+eru7tZTTz2lr3zlK3r55Zd1zjnnSJIeffRRfec739G0adO0cOFCSdLIkSMlSdXV1Zo2bZqam5u1cOFCjRkzRlVVVfrLX/6ijo6OAYuka665RgkJCbrllltUUVGhe+65R4sWLdLTTz991N9Ldna2VqxYod27dysjI+O4j0FycrIeffTRAbcdOHBAP/zhDwfM9cYbb2ju3LkqKCjQLbfcouDgYD300EM688wz9fbbb2vatGnH/T0BAAA+jKUUAAAwZ86cOQM+Dw8P14MPPqizzjprwO1btmxRZGRk4PNFixYpPz9fS5YsCSylFixYoO9+97saMWLEYUutG2+8UTU1NSosLBzwcsFf/OIX6uvrG/DYIUOGaNmyZYGrlHp7e/X73/9eLS0tiouL+8jfyw033KDLL79cI0eO1IwZM/TZz35Wn//85zV9+nQFB3/0RfHR0dGHzXv11Verra1Ny5cvlyT19fXpu9/9buCN4A/NduWVV2rcuHH62c9+pmXLln3k9wAAADgaXr4HAADMue+++7R8+XItX75cjz32mM444wx95zvf0XPPPTfgcR9eSDU1NamlpUUzZ87UmjVrjvk9ent79cILL2jevHkDFlKH/PtL5BYuXDjgtpkzZ6qnp0c7d+486ve57LLL9Oqrr2r27Nl65513dPvtt2vmzJkaNWqU3n333WPOecif//xn/fGPf9Svf/1rnXHGGZKkkpISlZeX65vf/Kb27t2rhoYGNTQ0qL29XZ/73Of01ltvqbe397i/BwAAwIdxpRQAADBn2rRpAxZF3/jGNzR58mQtWrRI5557buDlay+//LLuuOMOlZSUqKurK/D4f18oHUl9fb1aW1s1fvz445opKytrwOcJCQmS+pdhx3L22Wfr7LPPVkdHh4qLi/X000/rT3/6k84991yVlZUd9t5S/66kpETf/e539Y1vfEOLFy8O3F5eXi5JuuSSSz7ya1taWgKzAgAAnAiWUgAAwLzg4GCdccYZ+t3vfqfy8nKNGzdOb7/9ts477zydfvrp+uMf/6jU1FQNGjRIDz30kJ544gnHZwgJCTni7f/+Mr+jiYqK0syZMzVz5kwlJSXptttu0yuvvHLUpVJTU5MuuugijR49Wg888MCA+w5dBfWb3/xGkyZNOuLXx8TEHPd8AAAAH8ZSCgAAQNLBgwclSW1tbZKkv/71r4qIiNBrr72m8PDwwOMeeuihw772SFdOJScnKzY2Vhs2bPiEJj66Q1eC7dmz5yMf09vbq/nz56u5uVmvv/66oqKiBtx/6A3bY2NjD3sfLgAAgI+L95QCAADmHThwQMuWLVNYWJjy8vIk9V+5FBQUpJ6ensDjKioq9MILLxz29dHR0Wpubh5wW3BwsC644AK99NJLKioqOuxrTuQKqKNZsWLFEW//+9//Lkk65ZRTPvJrb7vtNr322mt68sknlZOTc9j9BQUFGjlypH77298GlnUfVl9f/x9ODQAAwJVSAADAoFdeeUVlZWWSpLq6Oj3xxBMqLy/XT37yE8XGxkqSzjnnHC1ZskRf+MIX9M1vflN1dXW67777lJubqw8++GDAr1dQUKDXX39dS5YsUVpamnJycnTaaafpzjvv1LJlyzRr1iwtXLhQeXl52rNnj5599lm98847io+P/9i/l/PPP185OTmaN2+eRo4cqfb2dr3++ut66aWXNHXqVM2bN++IX7d+/XrdfvvtOv3001VXV6fHHntswP0LFixQcHCwHnjgAc2dO1fjxo3TpZdeqvT0dFVVVWnlypWKjY3VSy+99LF/DwAAwCaWUgAAwJybb7458L8jIiI0ZswY3X///bryyisDt5955pn6v//7P91999269tprlZOTo1/96leqqKg4bCm1ZMkSLVy4UD/72c+0f/9+XXLJJTrttNOUnp6uwsJC/fznP9fjjz+u1tZWpaena+7cuYe9VO4/9cADD2jp0qV65plnVF1drb6+Po0YMUI//elPdcMNNyg09MhP9/bu3au+vj69+eabevPNNw+7f8GCBZKk2bNn67333tPtt9+ue++9V21tbRo2bJhOO+20AccLAADgRAX1OXXtOAAAAAAAAHCceE8pAAAAAAAAuI6lFAAAAAAAAFzHUgoAAAAAAACuYykFAAAAAAAA17GUAgAAAAAAgOtYSgEAAAAAAMB1LKUAAAAAAADgOpZSAAAAAAAAcB1LKQAAAAAAALiOpRQAAAAAAABcx1IKAAAAAAAArmMpBQAAAAAAANexlAIAAAAAAIDr/h8262n4g6FFfwAAAABJRU5ErkJggg==\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "# checking top tokens"
      ],
      "metadata": {
        "id": "SqoCZ4cQdR7_"
      },
      "id": "SqoCZ4cQdR7_"
    },
    {
      "cell_type": "code",
      "source": [],
      "metadata": {
        "id": "4_5n8iT-dTb9"
      },
      "id": "4_5n8iT-dTb9",
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "test_q = 'hello'\n",
        "\n",
        "test_q_encoded = tokenizer(test_q, return_tensors=\"pt\").to(qt_model.device)\n",
        "qt_result = qt_model(**test_q_encoded)\n",
        "\n",
        "non_qt_result = non_qt_model(**test_q_encoded)"
      ],
      "metadata": {
        "id": "O9efbFClMw3J"
      },
      "id": "O9efbFClMw3J",
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "import torch.nn.functional as F\n",
        "\n",
        "# Convert logits to probabilities\n",
        "probs1 = F.softmax(non_qt_result.logits[-1][-1], dim=0)\n",
        "probs2 = F.softmax(non_qt_result.logits[-1][-1], dim=0)\n",
        "\n",
        "\n",
        "# Calculate the mixture of the two distributions\n",
        "mixture = 0.5 * (probs1 + probs2)\n",
        "\n",
        "# Compute KL divergence from each distribution to the mixture\n",
        "kl1 = F.kl_div(mixture.log(), probs1, reduction='batchmean')\n",
        "kl2 = F.kl_div(mixture.log(), probs2, reduction='batchmean')\n",
        "\n",
        "# Calculate the Jensen-Shannon divergence\n",
        "jsd = 0.5 * (kl1 + kl2)\n",
        "\n",
        "# Optionally, take the square root to get the square root of the Jensen-Shannon divergence\n",
        "jsd_sqrt = torch.sqrt(abs(jsd))\n",
        "\n",
        "print(f\"Jensen-Shannon divergence: {jsd.item()}\")\n",
        "print(f\"Square root of Jensen-Shannon divergence: {jsd_sqrt.item()}\")"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "zmbHlrvUQQXv",
        "outputId": "caa6cb65-566e-450a-bc02-69b1de35e6aa"
      },
      "id": "zmbHlrvUQQXv",
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Jensen-Shannon divergence: 0.0\n",
            "Square root of Jensen-Shannon divergence: 0.0\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "top_k = 10\n",
        "\n",
        "def jaccard_similarity(set1, set2):\n",
        "    intersection = len(set1.intersection(set2))\n",
        "    union = len(set1) + len(set2) - intersection\n",
        "    return intersection / union\n",
        "\n",
        "jaccard_similarity(set(qt_result.logits[-1][-1].argsort()[-top_k:].tolist()), set(non_qt_result.logits[-1][-1].argsort()[-top_k:].tolist()))"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "vRWN02_OREVG",
        "outputId": "19418698-7040-45bc-f21e-433b57fe369d"
      },
      "id": "vRWN02_OREVG",
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "0.8181818181818182"
            ]
          },
          "metadata": {},
          "execution_count": 8
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "performance_results = []\n",
        "\n",
        "for question in tqdm(dataset.filter(lambda x: len(x['question']) < 512)['test']['question']):\n",
        "    test_q_encoded = tokenizer(question, return_tensors=\"pt\").to(qt_model.device)\n",
        "    qt_result = qt_model(**test_q_encoded)\n",
        "    non_qt_result = non_qt_model(**test_q_encoded)\n",
        "\n",
        "    probs1 = F.softmax(qt_result.logits[-1][-1], dim=0)\n",
        "    probs2 = F.softmax(non_qt_result.logits[-1][-1], dim=0)\n",
        "\n",
        "\n",
        "    # Calculate the mixture of the two distributions\n",
        "    mixture = 0.5 * (probs1 + probs2)\n",
        "\n",
        "    # Compute KL divergence from each distribution to the mixture\n",
        "    kl1 = F.kl_div(mixture.log(), probs1, reduction='batchmean')\n",
        "    kl2 = F.kl_div(mixture.log(), probs2, reduction='batchmean')\n",
        "\n",
        "    # Calculate the Jensen-Shannon divergence\n",
        "    jsd = 0.5 * (kl1 + kl2)\n",
        "\n",
        "    # Optionally, take the square root to get the square root of the Jensen-Shannon divergence\n",
        "    jsd_sqrt = torch.sqrt(abs(jsd)).item()\n",
        "\n",
        "    for top_k in [1, 3, 5, 10, 20]:\n",
        "        j = jaccard_similarity(set(qt_result.logits[-1][-1].argsort()[-top_k:].tolist()), set(non_qt_result.logits[-1][-1].argsort()[-top_k:].tolist()))\n",
        "        performance_results.append(dict(\n",
        "            question=question, top_k=top_k, jaccard=j, jsd_sqrt=jsd_sqrt\n",
        "            ))"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 131,
          "referenced_widgets": [
            "27634f82ab194df6be47db911f836a0d",
            "71d12a8b65544c09ad8c90df8394f901",
            "899b4ac186ba4d2aaf8f69c335de4694",
            "968c5ba0ed9b456e90d452d920615694",
            "f9ed983dcc5c4fa1b0fad743824739fe",
            "e189009e70344f2cbbf0a88bd10112cb",
            "b26cdd1c0ac64975a56246bc28ad88b9",
            "d859245f61214aab966aaa944d9242cb",
            "34862a483ef646d4a409c6fbbeaf4ccd",
            "abeab3eca6604d4bbab0136d6f11bdf9",
            "d535d12496f945b297690542b3ea9ce0",
            "020b5f966b504057b32df88baed99f3d",
            "cb750d967b614337831d763bdedee1b0",
            "1d05f8a2787043dc9f4c2e4225359888",
            "6fe925b38bf64e4ab1cacea318d3792d",
            "4d709dd9a3b04973b2c1a01c40a89572",
            "e30796c01bf24f62876e7123e92a8cbc",
            "58ff8137caeb4857af39a7d59e58f401",
            "023a6139e26b4885b1fa9189f818c99c",
            "9639a7d714c0465d8717ee8ed6e6da8f",
            "196e09c923ca411589fa4a2fedac9d2d",
            "3d697ed984bb4c01b39cd6a134a0481c",
            "fac6a3a3c80345a1b00e74c7757f1eae",
            "e3344d930117420b89950b00938e9ef9",
            "9d3776512a324807b7ef5a980c1f6ebb",
            "329e44db563942f9b49db02f9a497fd1",
            "9f570896983a427c920777cf0ba2f599",
            "8b355bc4337d44f68d2074a82e8c3e90",
            "0e06b11dfc804d189ed7e8ac3d46985f",
            "61c002e03b824050bfdc26812574275d",
            "ef21c383f3df40bcad3cf1e1d70a91e9",
            "d9353de9c6a04222b1ff35e118099496",
            "b3e2300d8d1b4ccf936aca42032d32ce"
          ]
        },
        "id": "-lhGPDISRj4X",
        "outputId": "cce49d0a-79e6-4039-e811-40c6f8fb23c1"
      },
      "id": "-lhGPDISRj4X",
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "Filter:   0%|          | 0/166 [00:00<?, ? examples/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "27634f82ab194df6be47db911f836a0d"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "Filter:   0%|          | 0/18 [00:00<?, ? examples/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "020b5f966b504057b32df88baed99f3d"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "Filter:   0%|          | 0/5 [00:00<?, ? examples/s]"
            ],
            "application/vnd.jupyter.widget-view+json": {
              "version_major": 2,
              "version_minor": 0,
              "model_id": "fac6a3a3c80345a1b00e74c7757f1eae"
            }
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "100%|██████████| 163/163 [00:31<00:00,  5.10it/s]\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "performance_results_df = pd.DataFrame(performance_results)\n",
        "performance_results_df.sample(5)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 206
        },
        "id": "_wk64ZIuRjtb",
        "outputId": "d59f5dc1-839d-4325-cc46-e90b082c3c60"
      },
      "id": "_wk64ZIuRjtb",
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "                                              question  top_k   jaccard  \\\n",
              "808  Why are the viruses of this family called astr...     10  0.666667   \n",
              "572         A special feature of adaptive immunity is:      5  0.666667   \n",
              "159  The noroviruses typically cause which of the f...     20  0.904762   \n",
              "282  How is the parvovirus family targeted to reduc...      5  1.000000   \n",
              "473  What is the most important factor for virus cl...     10  1.000000   \n",
              "\n",
              "     jsd_sqrt  \n",
              "808  0.000269  \n",
              "572  0.000316  \n",
              "159  0.000346  \n",
              "282  0.000348  \n",
              "473  0.000264  "
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-86ff05f9-4fe4-4179-a029-254a56253a5c\" class=\"colab-df-container\">\n",
              "    <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>question</th>\n",
              "      <th>top_k</th>\n",
              "      <th>jaccard</th>\n",
              "      <th>jsd_sqrt</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>808</th>\n",
              "      <td>Why are the viruses of this family called astr...</td>\n",
              "      <td>10</td>\n",
              "      <td>0.666667</td>\n",
              "      <td>0.000269</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>572</th>\n",
              "      <td>A special feature of adaptive immunity is:</td>\n",
              "      <td>5</td>\n",
              "      <td>0.666667</td>\n",
              "      <td>0.000316</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>159</th>\n",
              "      <td>The noroviruses typically cause which of the f...</td>\n",
              "      <td>20</td>\n",
              "      <td>0.904762</td>\n",
              "      <td>0.000346</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>282</th>\n",
              "      <td>How is the parvovirus family targeted to reduc...</td>\n",
              "      <td>5</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000348</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>473</th>\n",
              "      <td>What is the most important factor for virus cl...</td>\n",
              "      <td>10</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000264</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>\n",
              "    <div class=\"colab-df-buttons\">\n",
              "\n",
              "  <div class=\"colab-df-container\">\n",
              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-86ff05f9-4fe4-4179-a029-254a56253a5c')\"\n",
              "            title=\"Convert this dataframe to an interactive table.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "\n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    .colab-df-buttons div {\n",
              "      margin-bottom: 4px;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "    <script>\n",
              "      const buttonEl =\n",
              "        document.querySelector('#df-86ff05f9-4fe4-4179-a029-254a56253a5c button.colab-df-convert');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      async function convertToInteractive(key) {\n",
              "        const element = document.querySelector('#df-86ff05f9-4fe4-4179-a029-254a56253a5c');\n",
              "        const dataTable =\n",
              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                    [key], {});\n",
              "        if (!dataTable) return;\n",
              "\n",
              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "          + ' to learn more about interactive tables.';\n",
              "        element.innerHTML = '';\n",
              "        dataTable['output_type'] = 'display_data';\n",
              "        await google.colab.output.renderOutput(dataTable, element);\n",
              "        const docLink = document.createElement('div');\n",
              "        docLink.innerHTML = docLinkHtml;\n",
              "        element.appendChild(docLink);\n",
              "      }\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "\n",
              "<div id=\"df-5a456542-d6f5-468a-9973-87f93e61f204\">\n",
              "  <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-5a456542-d6f5-468a-9973-87f93e61f204')\"\n",
              "            title=\"Suggest charts\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "     width=\"24px\">\n",
              "    <g>\n",
              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
              "    </g>\n",
              "</svg>\n",
              "  </button>\n",
              "\n",
              "<style>\n",
              "  .colab-df-quickchart {\n",
              "      --bg-color: #E8F0FE;\n",
              "      --fill-color: #1967D2;\n",
              "      --hover-bg-color: #E2EBFA;\n",
              "      --hover-fill-color: #174EA6;\n",
              "      --disabled-fill-color: #AAA;\n",
              "      --disabled-bg-color: #DDD;\n",
              "  }\n",
              "\n",
              "  [theme=dark] .colab-df-quickchart {\n",
              "      --bg-color: #3B4455;\n",
              "      --fill-color: #D2E3FC;\n",
              "      --hover-bg-color: #434B5C;\n",
              "      --hover-fill-color: #FFFFFF;\n",
              "      --disabled-bg-color: #3B4455;\n",
              "      --disabled-fill-color: #666;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart {\n",
              "    background-color: var(--bg-color);\n",
              "    border: none;\n",
              "    border-radius: 50%;\n",
              "    cursor: pointer;\n",
              "    display: none;\n",
              "    fill: var(--fill-color);\n",
              "    height: 32px;\n",
              "    padding: 0;\n",
              "    width: 32px;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart:hover {\n",
              "    background-color: var(--hover-bg-color);\n",
              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "    fill: var(--button-hover-fill-color);\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart-complete:disabled,\n",
              "  .colab-df-quickchart-complete:disabled:hover {\n",
              "    background-color: var(--disabled-bg-color);\n",
              "    fill: var(--disabled-fill-color);\n",
              "    box-shadow: none;\n",
              "  }\n",
              "\n",
              "  .colab-df-spinner {\n",
              "    border: 2px solid var(--fill-color);\n",
              "    border-color: transparent;\n",
              "    border-bottom-color: var(--fill-color);\n",
              "    animation:\n",
              "      spin 1s steps(1) infinite;\n",
              "  }\n",
              "\n",
              "  @keyframes spin {\n",
              "    0% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "      border-left-color: var(--fill-color);\n",
              "    }\n",
              "    20% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    30% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    40% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    60% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    80% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "    90% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "  }\n",
              "</style>\n",
              "\n",
              "  <script>\n",
              "    async function quickchart(key) {\n",
              "      const quickchartButtonEl =\n",
              "        document.querySelector('#' + key + ' button');\n",
              "      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
              "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
              "      try {\n",
              "        const charts = await google.colab.kernel.invokeFunction(\n",
              "            'suggestCharts', [key], {});\n",
              "      } catch (error) {\n",
              "        console.error('Error during call to suggestCharts:', error);\n",
              "      }\n",
              "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
              "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
              "    }\n",
              "    (() => {\n",
              "      let quickchartButtonEl =\n",
              "        document.querySelector('#df-5a456542-d6f5-468a-9973-87f93e61f204 button');\n",
              "      quickchartButtonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "    })();\n",
              "  </script>\n",
              "</div>\n",
              "\n",
              "    </div>\n",
              "  </div>\n"
            ],
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "dataframe",
              "summary": "{\n  \"name\": \"performance_results_df\",\n  \"rows\": 5,\n  \"fields\": [\n    {\n      \"column\": \"question\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 5,\n        \"samples\": [\n          \"A special feature of adaptive immunity is:\",\n          \"What is the most important factor for virus classification?\",\n          \"The noroviruses typically cause which of the following?\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"top_k\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 6,\n        \"min\": 5,\n        \"max\": 20,\n        \"num_unique_values\": 3,\n        \"samples\": [\n          10,\n          5,\n          20\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"jaccard\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.16970028267814727,\n        \"min\": 0.6666666666666666,\n        \"max\": 1.0,\n        \"num_unique_values\": 3,\n        \"samples\": [\n          0.6666666666666666,\n          0.9047619047619048,\n          1.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"jsd_sqrt\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 4.0662731552128605e-05,\n        \"min\": 0.00026371650164946914,\n        \"max\": 0.00034792759106494486,\n        \"num_unique_values\": 5,\n        \"samples\": [\n          0.0003161999338772148,\n          0.00026371650164946914,\n          0.00034625676926225424\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}"
            }
          },
          "metadata": {},
          "execution_count": 30
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "performance_results_df.groupby(['top_k'])[['jaccard', 'jsd_sqrt']].agg(['mean', 'median'])"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 269
        },
        "id": "Xxjf1tIUSb85",
        "outputId": "832124fd-f539-4e2b-8441-064181bc325b"
      },
      "id": "Xxjf1tIUSb85",
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "        jaccard            jsd_sqrt          \n",
              "           mean    median      mean    median\n",
              "top_k                                        \n",
              "1      0.828221  1.000000  0.000367  0.000343\n",
              "3      0.792638  1.000000  0.000367  0.000343\n",
              "5      0.785933  0.666667  0.000367  0.000343\n",
              "10     0.777094  0.818182  0.000367  0.000343\n",
              "20     0.768535  0.739130  0.000367  0.000343"
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-59f9785b-1a8e-4183-8625-9b430d237e86\" class=\"colab-df-container\">\n",
              "    <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead tr th {\n",
              "        text-align: left;\n",
              "    }\n",
              "\n",
              "    .dataframe thead tr:last-of-type th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr>\n",
              "      <th></th>\n",
              "      <th colspan=\"2\" halign=\"left\">jaccard</th>\n",
              "      <th colspan=\"2\" halign=\"left\">jsd_sqrt</th>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th></th>\n",
              "      <th>mean</th>\n",
              "      <th>median</th>\n",
              "      <th>mean</th>\n",
              "      <th>median</th>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>top_k</th>\n",
              "      <th></th>\n",
              "      <th></th>\n",
              "      <th></th>\n",
              "      <th></th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>0.828221</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000367</td>\n",
              "      <td>0.000343</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>0.792638</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>0.000367</td>\n",
              "      <td>0.000343</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>5</th>\n",
              "      <td>0.785933</td>\n",
              "      <td>0.666667</td>\n",
              "      <td>0.000367</td>\n",
              "      <td>0.000343</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>10</th>\n",
              "      <td>0.777094</td>\n",
              "      <td>0.818182</td>\n",
              "      <td>0.000367</td>\n",
              "      <td>0.000343</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>20</th>\n",
              "      <td>0.768535</td>\n",
              "      <td>0.739130</td>\n",
              "      <td>0.000367</td>\n",
              "      <td>0.000343</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>\n",
              "    <div class=\"colab-df-buttons\">\n",
              "\n",
              "  <div class=\"colab-df-container\">\n",
              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-59f9785b-1a8e-4183-8625-9b430d237e86')\"\n",
              "            title=\"Convert this dataframe to an interactive table.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "\n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    .colab-df-buttons div {\n",
              "      margin-bottom: 4px;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "    <script>\n",
              "      const buttonEl =\n",
              "        document.querySelector('#df-59f9785b-1a8e-4183-8625-9b430d237e86 button.colab-df-convert');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      async function convertToInteractive(key) {\n",
              "        const element = document.querySelector('#df-59f9785b-1a8e-4183-8625-9b430d237e86');\n",
              "        const dataTable =\n",
              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                    [key], {});\n",
              "        if (!dataTable) return;\n",
              "\n",
              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "          + ' to learn more about interactive tables.';\n",
              "        element.innerHTML = '';\n",
              "        dataTable['output_type'] = 'display_data';\n",
              "        await google.colab.output.renderOutput(dataTable, element);\n",
              "        const docLink = document.createElement('div');\n",
              "        docLink.innerHTML = docLinkHtml;\n",
              "        element.appendChild(docLink);\n",
              "      }\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "\n",
              "<div id=\"df-bb971543-ce8e-4b5a-8113-7f760bc39b63\">\n",
              "  <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-bb971543-ce8e-4b5a-8113-7f760bc39b63')\"\n",
              "            title=\"Suggest charts\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "     width=\"24px\">\n",
              "    <g>\n",
              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
              "    </g>\n",
              "</svg>\n",
              "  </button>\n",
              "\n",
              "<style>\n",
              "  .colab-df-quickchart {\n",
              "      --bg-color: #E8F0FE;\n",
              "      --fill-color: #1967D2;\n",
              "      --hover-bg-color: #E2EBFA;\n",
              "      --hover-fill-color: #174EA6;\n",
              "      --disabled-fill-color: #AAA;\n",
              "      --disabled-bg-color: #DDD;\n",
              "  }\n",
              "\n",
              "  [theme=dark] .colab-df-quickchart {\n",
              "      --bg-color: #3B4455;\n",
              "      --fill-color: #D2E3FC;\n",
              "      --hover-bg-color: #434B5C;\n",
              "      --hover-fill-color: #FFFFFF;\n",
              "      --disabled-bg-color: #3B4455;\n",
              "      --disabled-fill-color: #666;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart {\n",
              "    background-color: var(--bg-color);\n",
              "    border: none;\n",
              "    border-radius: 50%;\n",
              "    cursor: pointer;\n",
              "    display: none;\n",
              "    fill: var(--fill-color);\n",
              "    height: 32px;\n",
              "    padding: 0;\n",
              "    width: 32px;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart:hover {\n",
              "    background-color: var(--hover-bg-color);\n",
              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "    fill: var(--button-hover-fill-color);\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart-complete:disabled,\n",
              "  .colab-df-quickchart-complete:disabled:hover {\n",
              "    background-color: var(--disabled-bg-color);\n",
              "    fill: var(--disabled-fill-color);\n",
              "    box-shadow: none;\n",
              "  }\n",
              "\n",
              "  .colab-df-spinner {\n",
              "    border: 2px solid var(--fill-color);\n",
              "    border-color: transparent;\n",
              "    border-bottom-color: var(--fill-color);\n",
              "    animation:\n",
              "      spin 1s steps(1) infinite;\n",
              "  }\n",
              "\n",
              "  @keyframes spin {\n",
              "    0% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "      border-left-color: var(--fill-color);\n",
              "    }\n",
              "    20% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    30% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    40% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    60% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    80% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "    90% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "  }\n",
              "</style>\n",
              "\n",
              "  <script>\n",
              "    async function quickchart(key) {\n",
              "      const quickchartButtonEl =\n",
              "        document.querySelector('#' + key + ' button');\n",
              "      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
              "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
              "      try {\n",
              "        const charts = await google.colab.kernel.invokeFunction(\n",
              "            'suggestCharts', [key], {});\n",
              "      } catch (error) {\n",
              "        console.error('Error during call to suggestCharts:', error);\n",
              "      }\n",
              "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
              "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
              "    }\n",
              "    (() => {\n",
              "      let quickchartButtonEl =\n",
              "        document.querySelector('#df-bb971543-ce8e-4b5a-8113-7f760bc39b63 button');\n",
              "      quickchartButtonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "    })();\n",
              "  </script>\n",
              "</div>\n",
              "\n",
              "    </div>\n",
              "  </div>\n"
            ],
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "dataframe",
              "summary": "{\n  \"name\": \"performance_results_df\",\n  \"rows\": 5,\n  \"fields\": [\n    {\n      \"column\": [\n        \"top_k\",\n        \"\"\n      ],\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 7,\n        \"min\": 1,\n        \"max\": 20,\n        \"num_unique_values\": 5,\n        \"samples\": [\n          3,\n          20,\n          5\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": [\n        \"jaccard\",\n        \"mean\"\n      ],\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.02296993327763299,\n        \"min\": 0.7685349060115664,\n        \"max\": 0.8282208588957055,\n        \"num_unique_values\": 5,\n        \"samples\": [\n          0.7926380368098159,\n          0.7685349060115664,\n          0.7859333917616127\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": [\n        \"jaccard\",\n        \"median\"\n      ],\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.15147619365110346,\n        \"min\": 0.6666666666666666,\n        \"max\": 1.0,\n        \"num_unique_values\": 4,\n        \"samples\": [\n          0.6666666666666666,\n          0.7391304347826086,\n          1.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": [\n        \"jsd_sqrt\",\n        \"mean\"\n      ],\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.0,\n        \"min\": 0.00036686214008097153,\n        \"max\": 0.00036686214008097153,\n        \"num_unique_values\": 1,\n        \"samples\": [\n          0.00036686214008097153\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": [\n        \"jsd_sqrt\",\n        \"median\"\n      ],\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.0,\n        \"min\": 0.00034325598971918225,\n        \"max\": 0.00034325598971918225,\n        \"num_unique_values\": 1,\n        \"samples\": [\n          0.00034325598971918225\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}"
            }
          },
          "metadata": {},
          "execution_count": 31
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "import matplotlib.pyplot as plt\n",
        "\n",
        "# Calculating the mean of 'jaccard' for each 'top_k', rounding to 5 decimal places, and plotting as a bar chart\n",
        "ax = performance_results_df.groupby('top_k')['jaccard'].mean().plot(kind='bar', figsize=(10, 6), color='skyblue', edgecolor='black')\n",
        "\n",
        "# Setting title and labels with a larger font size for better readability\n",
        "ax.set_title('Mean Jaccard Index by Top K', fontsize=14)\n",
        "ax.set_xlabel('Top K', fontsize=12)\n",
        "ax.set_ylabel('Mean Jaccard Index', fontsize=12)\n",
        "\n",
        "# Adding grid lines to the plot for easier evaluation of the values\n",
        "ax.grid(True, which='both', linestyle='--', linewidth=0.5)\n",
        "\n",
        "# Show the plot\n",
        "plt.tight_layout()\n",
        "plt.show()\n"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 606
        },
        "id": "w0gqv7N1SBZ9",
        "outputId": "96734d57-d823-4fbb-b63f-78ac63c1fa05"
      },
      "id": "w0gqv7N1SBZ9",
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1000x600 with 1 Axes>"
            ],
            "image/png": "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uwwpKSknvW1ycjJKS0tRX18/qod4d3Z2ore3F2efffaw33pu2bJl2EOq4+HgwYMoLS0dtnAfO3YMhw4dGnKZxWLB9OnTcfjwYezfv/+U77e6uhparRbvvPPOkJcGO9kMwOBvaT/qP//5z2g+jSHKy8vh8/lQV1c3Ie/vdJWXl5/0Yx85cmTYy4aNtavjampqUFtbi5qaGjzzzDPo7u7G9ddfP+aXldu6dSu8Xu+wy4/PP3v27CGXf+UrX0FaWhr++Mc/4u9//zt6e3vxjW98Y0wf8+PMnj0bfr8fmzZtGnbdunXrAGDEp4GM9DX3er3Ytm0brFbruBbmn/zkJ7jnnnvQ1NSE+fPn48CBA2N+H0REnyRcuomIaAidToeXXnoJL774IlatWvWxt7/99tvh9/tx0003jfhw38OHD8ceOpyeno6kpCTU1dXB7/fHbtPT04Nly5ZN2OcwFpMnT8aBAweG/EYwEAjglltuGXFZvu222xCJRHDrrbcO+yFBIBBAd3c3gMGH715++eU4ePDgiA+R7ujoiD13/PhzY999990ht3n22Wfx6quvjvlzuv766wEAP/jBD4Y8zHvnzp145plnxvz+Tte5556LgoICvPLKK0M+R0mSUFNTM+LTA8bSFQC8+eab+MUvfoGzzjoLK1euxMUXX4zbbrsN69atG/Pzut1uN+6///4hl73++utYu3YtZs6cOez8AomJibjhhhuwZ88e1NTUICEhATfccMOYPubHWbx4MQDgrrvuGtLl0aNH8fDDD0Ov14/4qJS33noLr7/++pDL7r//frjdbixatGjYc/JH695778W9996L5uZmzJ8/Hw0NDeN6P0REnwR8eDkREQ1TXV2N6urqUd325ptvxvvvv48//elP+O9//4sFCxYgOzsb7e3t2Lt3LzZu3Ihnn30W+fn50Gq1uPXWW/GLX/wC5eXlWLhwITweD/79739j8uTJyM7OlvkzG27ZsmVYtmwZZs+ejSuuuALhcBhvvvkmJElCeXl57CRgx91yyy1Yv349/ud//gfFxcW45JJLYLVa0dTUhNdffx1PPvkkLrvsMgDA7373O+zatQv3338/Xn31VXzmM5+BJEloaGjAG2+8gfb2dtjtdlx//fV48MEHsWzZstgJqrZv3461a9fiK1/5CtasWTOmz2nx4sV49tln8dprr2H27Nn4whe+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vaVZs2YpNjZWbW1tWr9+vebMmaMJEyYoEAjo7bff1ubNm1m80e+MHTtW7777rpKSklRZWakf/ehHOnbsmEaNGqX9+/crIiJC77//voYNG+b0qMBZ2bdvn2bOnKmqqipNmzat12LywQcfKDs7Wxs3blReXp7DkwJn5+abb1ZVVZX+/Oc/a/To0b3u++KLL3THHXcoMzNTr7zyikMTQmLphoXeeOONb7z/wIEDWrhwIUs3+p2LL75Yl112mZYvX66XXnpJ9957r+655x797ne/kyQtWbJEJSUl2rx5s8OTAmcnLCxM1dXVGjx4sG677TYdPHhQGzZsUEJCglpaWnTjjTcqNTVVf/vb35weFTgrV1xxhWJiYvT8888rPj6+130+n09z5sxRe3u7Nm3a5NCEwHcTFxend955RxdddFGf95eUlOjSSy9Vc3OzzZPhZCzdsExYWJg8Ho++KTGPx8PSjX4nISFBJSUlysvLUyAQkNfrVVFRUegvvJ07d2rGjBmhly8C/cXJS/eIESO0bt06XXHFFaH733vvPd16662qqKhwcErg7EVHR6uoqEjjxo3r8/7PPvtM06ZNU1tbm82TAd9PSkqKXn31VU2fPr3P+7dv366bb75ZdXV1Nk+Gk3H1clgmIyNDr732mgKBQJ+30tJSp0cEvjOPxyOpZ0mJiopSQkJC6L64uDg1NTU5NRrwvZxou6OjQxkZGb3uy8rKUm1trRNjAd9LYmKiysvLT3t/eXm5EhMTbZsHOFduueUW3X777Vq/fr18Pl/ouM/n0/r16zV37lzNnj3bwQkhcfVyWKigoEAlJSWaNWtWn/d/27PggFvl5uZq7969GjFihCRpx44dGjJkSOj+ioqKU5YVoL+4/PLLFRERIZ/Ppy+++KLXM4OHDh3iQmrol37+859rzpw5evjhh3X55Zf3ek/31q1btXz5ct13330OTwmcvVWrVikQCOjWW29VV1dX6IKAnZ2dioiI0J133qmVK1c6PCVYumGZRYsWqbW19bT35+Xladu2bTZOBJwb99xzT6+3RXz95YobN27kImrol5YtW9br49jY2F4f/+tf/9IPf/hDO0cCzonHHntMMTExWrFihRYuXBh6RUcwGFR6eroWL16sBx980OEpgbPn9Xr1zDPP6A9/+INKSkp6XZm/oKDglGsYwBm8pxsAAADnjYMHD/Za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\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [],
      "metadata": {
        "id": "PCe4OlOXSBJx"
      },
      "id": "PCe4OlOXSBJx",
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "import string\n",
        "letters = string.ascii_uppercase\n",
        "\n",
        "def parse_q(dataset_item):\n",
        "    question = dataset_item['question']\n",
        "    choices = dataset_item['choices']\n",
        "    answer = dataset_item['answer']\n",
        "\n",
        "    letter_choices = '\\n'.join([letters[i]+': ' + choice for i, choice in enumerate(choices)]).strip()\n",
        "    letter_answer = letters[answer]\n",
        "\n",
        "    final_q = 'Recall your virology knowledge and box your final answer with [[A]] or [[B]] [[F]] or [[D]], etc\\n\\n'+ question + '\\n\\n' + letter_choices\n",
        "\n",
        "    return final_q, letter_answer\n",
        "\n",
        "final_q, letter_answer = parse_q(dataset['test'][0])\n",
        "\n",
        "print(final_q)\n"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "ZHZ_DKPkmqHJ",
        "outputId": "b4f66c92-6223-4048-d016-81b06ca62074"
      },
      "id": "ZHZ_DKPkmqHJ",
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Recall your virology knowledge and box your final answer with [[A]] or [[B]] [[F]] or [[D]], etc\n",
            "\n",
            "How many human polyomaviruses are known at present?\n",
            "\n",
            "A: 100\n",
            "B: 1\n",
            "C: 10\n",
            "D: unknown\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "import re, time\n",
        "\n",
        "def ask_llama(dataset_item, model, tokenizer, **kwargs):\n",
        "    final_q, letter_answer = parse_q(dataset_item)\n",
        "    time_before = time.time()\n",
        "    result = tokenizer.decode(model.generate(\n",
        "        tokenizer.apply_chat_template(\n",
        "            [{'role': 'human', 'content': final_q}], return_tensors='pt').to(model.device),\n",
        "        pad_token_id=tokenizer.eos_token_id,\n",
        "        **kwargs\n",
        "    )[0]).split('<|end_header_id|>')[-1].split('<|eot_id|>')[0].strip()\n",
        "    time_after = time.time()\n",
        "    try:\n",
        "        model_answer = re.findall(r'\\[\\[[A-Z]\\]\\]', result)[0][2]\n",
        "    except:\n",
        "        model_answer = None\n",
        "    return model_answer == letter_answer, model_answer, letter_answer, result, time_after - time_before"
      ],
      "metadata": {
        "id": "uoo-z-Cum7ni"
      },
      "id": "uoo-z-Cum7ni",
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "ask_llama(dataset['test'][0], qt_model, tokenizer, temperature=0.1)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "V1TfC8oUoIUp",
        "outputId": "0d35cd97-b709-48a0-d9cf-9b7501efccf4"
      },
      "id": "V1TfC8oUoIUp",
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "(False,\n",
              " None,\n",
              " 'A',\n",
              " 'A virology question!\\n\\nAccording to my knowledge, there are only 2 known human polyomaviruses:\\n\\n* JC polyomavirus (JCV)\\n* BK polyomavirus (BKV)\\n\\nSo, the correct answer is:\\n\\nB: 1',\n",
              " 5.23343563079834)"
            ]
          },
          "metadata": {},
          "execution_count": 17
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "ask_llama(dataset['test'][0], non_qt_model, tokenizer, max_new_tokens=32, temperature=0.1)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "ZRwk7uWzoXQD",
        "outputId": "b4d04580-2809-49b3-d5fa-80ba53de6fdc"
      },
      "id": "ZRwk7uWzoXQD",
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "(False,\n",
              " None,\n",
              " 'A',\n",
              " 'A virology question!\\n\\nAccording to my knowledge, there are 7 known human polyomaviruses:\\n\\n* JC polyomavirus (',\n",
              " 23.851145029067993)"
            ]
          },
          "metadata": {},
          "execution_count": 18
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "benchmkark_results = []\n",
        "for test_q in tqdm(dataset.filter(lambda x: len(x['question']) < 64)['test']):\n",
        "\n",
        "    qt_correct, qt_model_answer, letter_answer, qt_result, qt_time = ask_llama(\n",
        "        test_q, qt_model, tokenizer, temperature=0.1, max_new_tokens=256\n",
        "        )\n",
        "    non_qt_correct, non_qt_model_answer, letter_answer, non_qt_result, non_qt_time = ask_llama(\n",
        "        test_q, non_qt_model, tokenizer, temperature=0.1, max_new_tokens=256\n",
        "        )\n",
        "\n",
        "    benchmkark_results.append(dict(\n",
        "        question=test_q['question'],\n",
        "        qt_correct=qt_correct,\n",
        "        non_qt_correct=non_qt_correct,\n",
        "        qt_model_answer=qt_model_answer,\n",
        "        non_qt_model_answer=non_qt_model_answer,\n",
        "        letter_answer=letter_answer,\n",
        "        qt_time=qt_time,\n",
        "        non_qt_time=non_qt_time,\n",
        "        qt_result=qt_result,\n",
        "        non_qt_result=non_qt_result\n",
        "    ))"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "NlXnRV3_r6h3",
        "outputId": "8a050082-b3e2-45f3-ddd5-fab68502f78c"
      },
      "id": "NlXnRV3_r6h3",
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "100%|██████████| 79/79 [1:59:47<00:00, 90.98s/it]\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "benchmkark_results_df = pd.DataFrame(benchmkark_results)\n",
        "benchmkark_results_df.sample(3)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 389
        },
        "id": "j1CYFFYnsUsX",
        "outputId": "6e4b9e46-bd0b-4b2a-fe36-db58b4263c28"
      },
      "id": "j1CYFFYnsUsX",
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "                                             question  qt_correct  \\\n",
              "59  The successful anti-cancer HPV vaccine consist...       False   \n",
              "15            Describe the morphology of a togavirus.        True   \n",
              "18  The three countries with the most drug injecto...        True   \n",
              "\n",
              "    non_qt_correct qt_model_answer non_qt_model_answer letter_answer  \\\n",
              "59           False               C                   C             A   \n",
              "15            True               A                   A             A   \n",
              "18            True               B                   B             B   \n",
              "\n",
              "      qt_time  non_qt_time                                          qt_result  \\\n",
              "59  19.267768    70.514297  A virology question!\\n\\nThe correct answer is ...   \n",
              "15  14.245740    76.546482  The correct answer is [[A]]: Enveloped spheric...   \n",
              "18   4.615298    55.797136  A virology question!\\n\\nAccording to the World...   \n",
              "\n",
              "                                        non_qt_result  \n",
              "59  The correct answer is [[C]]: Self-assemble of ...  \n",
              "15  The correct answer is [[A]]: Enveloped spheric...  \n",
              "18  A virology question!\\n\\nActually, this questio...  "
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-d797e4c9-8378-4042-985f-a89413940f7c\" class=\"colab-df-container\">\n",
              "    <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>question</th>\n",
              "      <th>qt_correct</th>\n",
              "      <th>non_qt_correct</th>\n",
              "      <th>qt_model_answer</th>\n",
              "      <th>non_qt_model_answer</th>\n",
              "      <th>letter_answer</th>\n",
              "      <th>qt_time</th>\n",
              "      <th>non_qt_time</th>\n",
              "      <th>qt_result</th>\n",
              "      <th>non_qt_result</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>59</th>\n",
              "      <td>The successful anti-cancer HPV vaccine consist...</td>\n",
              "      <td>False</td>\n",
              "      <td>False</td>\n",
              "      <td>C</td>\n",
              "      <td>C</td>\n",
              "      <td>A</td>\n",
              "      <td>19.267768</td>\n",
              "      <td>70.514297</td>\n",
              "      <td>A virology question!\\n\\nThe correct answer is ...</td>\n",
              "      <td>The correct answer is [[C]]: Self-assemble of ...</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>15</th>\n",
              "      <td>Describe the morphology of a togavirus.</td>\n",
              "      <td>True</td>\n",
              "      <td>True</td>\n",
              "      <td>A</td>\n",
              "      <td>A</td>\n",
              "      <td>A</td>\n",
              "      <td>14.245740</td>\n",
              "      <td>76.546482</td>\n",
              "      <td>The correct answer is [[A]]: Enveloped spheric...</td>\n",
              "      <td>The correct answer is [[A]]: Enveloped spheric...</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>18</th>\n",
              "      <td>The three countries with the most drug injecto...</td>\n",
              "      <td>True</td>\n",
              "      <td>True</td>\n",
              "      <td>B</td>\n",
              "      <td>B</td>\n",
              "      <td>B</td>\n",
              "      <td>4.615298</td>\n",
              "      <td>55.797136</td>\n",
              "      <td>A virology question!\\n\\nAccording to the World...</td>\n",
              "      <td>A virology question!\\n\\nActually, this questio...</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>\n",
              "    <div class=\"colab-df-buttons\">\n",
              "\n",
              "  <div class=\"colab-df-container\">\n",
              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-d797e4c9-8378-4042-985f-a89413940f7c')\"\n",
              "            title=\"Convert this dataframe to an interactive table.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "\n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    .colab-df-buttons div {\n",
              "      margin-bottom: 4px;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "    <script>\n",
              "      const buttonEl =\n",
              "        document.querySelector('#df-d797e4c9-8378-4042-985f-a89413940f7c button.colab-df-convert');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      async function convertToInteractive(key) {\n",
              "        const element = document.querySelector('#df-d797e4c9-8378-4042-985f-a89413940f7c');\n",
              "        const dataTable =\n",
              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                    [key], {});\n",
              "        if (!dataTable) return;\n",
              "\n",
              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "          + ' to learn more about interactive tables.';\n",
              "        element.innerHTML = '';\n",
              "        dataTable['output_type'] = 'display_data';\n",
              "        await google.colab.output.renderOutput(dataTable, element);\n",
              "        const docLink = document.createElement('div');\n",
              "        docLink.innerHTML = docLinkHtml;\n",
              "        element.appendChild(docLink);\n",
              "      }\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "\n",
              "<div id=\"df-70f88cd1-9c52-4010-aa3b-07f7c1e78a80\">\n",
              "  <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-70f88cd1-9c52-4010-aa3b-07f7c1e78a80')\"\n",
              "            title=\"Suggest charts\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "     width=\"24px\">\n",
              "    <g>\n",
              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
              "    </g>\n",
              "</svg>\n",
              "  </button>\n",
              "\n",
              "<style>\n",
              "  .colab-df-quickchart {\n",
              "      --bg-color: #E8F0FE;\n",
              "      --fill-color: #1967D2;\n",
              "      --hover-bg-color: #E2EBFA;\n",
              "      --hover-fill-color: #174EA6;\n",
              "      --disabled-fill-color: #AAA;\n",
              "      --disabled-bg-color: #DDD;\n",
              "  }\n",
              "\n",
              "  [theme=dark] .colab-df-quickchart {\n",
              "      --bg-color: #3B4455;\n",
              "      --fill-color: #D2E3FC;\n",
              "      --hover-bg-color: #434B5C;\n",
              "      --hover-fill-color: #FFFFFF;\n",
              "      --disabled-bg-color: #3B4455;\n",
              "      --disabled-fill-color: #666;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart {\n",
              "    background-color: var(--bg-color);\n",
              "    border: none;\n",
              "    border-radius: 50%;\n",
              "    cursor: pointer;\n",
              "    display: none;\n",
              "    fill: var(--fill-color);\n",
              "    height: 32px;\n",
              "    padding: 0;\n",
              "    width: 32px;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart:hover {\n",
              "    background-color: var(--hover-bg-color);\n",
              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "    fill: var(--button-hover-fill-color);\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart-complete:disabled,\n",
              "  .colab-df-quickchart-complete:disabled:hover {\n",
              "    background-color: var(--disabled-bg-color);\n",
              "    fill: var(--disabled-fill-color);\n",
              "    box-shadow: none;\n",
              "  }\n",
              "\n",
              "  .colab-df-spinner {\n",
              "    border: 2px solid var(--fill-color);\n",
              "    border-color: transparent;\n",
              "    border-bottom-color: var(--fill-color);\n",
              "    animation:\n",
              "      spin 1s steps(1) infinite;\n",
              "  }\n",
              "\n",
              "  @keyframes spin {\n",
              "    0% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "      border-left-color: var(--fill-color);\n",
              "    }\n",
              "    20% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    30% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    40% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    60% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    80% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "    90% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "  }\n",
              "</style>\n",
              "\n",
              "  <script>\n",
              "    async function quickchart(key) {\n",
              "      const quickchartButtonEl =\n",
              "        document.querySelector('#' + key + ' button');\n",
              "      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
              "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
              "      try {\n",
              "        const charts = await google.colab.kernel.invokeFunction(\n",
              "            'suggestCharts', [key], {});\n",
              "      } catch (error) {\n",
              "        console.error('Error during call to suggestCharts:', error);\n",
              "      }\n",
              "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
              "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
              "    }\n",
              "    (() => {\n",
              "      let quickchartButtonEl =\n",
              "        document.querySelector('#df-70f88cd1-9c52-4010-aa3b-07f7c1e78a80 button');\n",
              "      quickchartButtonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "    })();\n",
              "  </script>\n",
              "</div>\n",
              "\n",
              "    </div>\n",
              "  </div>\n"
            ],
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "dataframe",
              "summary": "{\n  \"name\": \"benchmkark_results_df\",\n  \"rows\": 3,\n  \"fields\": [\n    {\n      \"column\": \"question\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 3,\n        \"samples\": [\n          \"The successful anti-cancer HPV vaccine consists of:\",\n          \"Describe the morphology of a togavirus.\",\n          \"The three countries with the most drug injectors are:\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"qt_correct\",\n      \"properties\": {\n        \"dtype\": \"boolean\",\n        \"num_unique_values\": 2,\n        \"samples\": [\n          true,\n          false\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"non_qt_correct\",\n      \"properties\": {\n        \"dtype\": \"boolean\",\n        \"num_unique_values\": 2,\n        \"samples\": [\n          true,\n          false\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"qt_model_answer\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 3,\n        \"samples\": [\n          \"C\",\n          \"A\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"non_qt_model_answer\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 3,\n        \"samples\": [\n          \"C\",\n          \"A\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"letter_answer\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 2,\n        \"samples\": [\n          \"B\",\n          \"A\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"qt_time\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 7.446040029688951,\n        \"min\": 4.615297555923462,\n        \"max\": 19.267767906188965,\n        \"num_unique_values\": 3,\n        \"samples\": [\n          19.267767906188965,\n          14.245739936828613\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"non_qt_time\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 10.673311616864684,\n        \"min\": 55.79713559150696,\n        \"max\": 76.54648208618164,\n        \"num_unique_values\": 3,\n        \"samples\": [\n          70.51429748535156,\n          76.54648208618164\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"qt_result\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 3,\n        \"samples\": [\n          \"A virology question!\\n\\nThe correct answer is [[C]]: Self-assemble of virus L1 protein into VLP.\\n\\nThe HPV vaccine, Gardasil and Cervarix, uses a virus-like particle (VLP) composed of the L1 protein of the human papillomavirus (HPV). This VLP is self-assembled from the L1 protein and does not contain any live or inactivated virus. The VLP is recognized by the immune system as a foreign substance, triggering an immune response that provides protection against HPV infection.\\n\\nThe other options are not correct:\\n\\n* [[A]]: Live virus attenuated by specific mutagenesis is not used in the HPV vaccine.\\n* [[B]]: Whole virus chemically inactivated vaccine is not used in the HPV vaccine.\\n* [[D]]: Subunit chemically inactivated vaccine is not used in the HPV vaccine, as the VLP is not a subunit of the virus, but rather a self-assembled structure composed of the L1 protein.\",\n          \"The correct answer is [[A]]: Enveloped spherical particles with an icosahedral structure.\\n\\nTogaviruses are a type of positive-sense single-stranded RNA virus that have a characteristic morphology. They are enveloped viruses, meaning they have a lipid bilayer derived from the host cell membrane, and are spherical in shape. The viral surface is covered with a protein called E1, which is responsible for the virus's ability to attach to host cells. The viral genome is organized into a nucleocapsid, which is composed of a protein called capsid protein (CP) and the viral RNA. The nucleocapsid is arranged in an icosahedral structure, which is a three-dimensional arrangement of 20 triangular faces.\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"non_qt_result\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 3,\n        \"samples\": [\n          \"The correct answer is [[C]]: Self-assemble of virus L1 protein into VLP.\\n\\nThe HPV vaccine, Gardasil and Cervarix, uses a novel approach by using the L1 protein of the virus to self-assemble into virus-like particles (VLPs). These VLPs mimic the structure of the virus but do not contain the viral genome, making them safe and effective in inducing an immune response against the virus.\",\n          \"The correct answer is [[A]]: Enveloped spherical particles with an icosahedral structure.\\n\\nTogaviruses are a type of positive-sense single-stranded RNA virus that have an enveloped spherical morphology. They have an icosahedral structure, meaning that their capsid is composed of 60 identical subunits arranged in a symmetrical pattern. The envelope is derived from the host cell membrane and contains glycoproteins that are involved in viral attachment and entry.\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}"
            }
          },
          "metadata": {},
          "execution_count": 28
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "benchmkark_results_df['qt_words'] = benchmkark_results_df['qt_result'].apply(lambda x: len(x.split()))\n",
        "benchmkark_results_df['non_qt_words'] = benchmkark_results_df['non_qt_result'].apply(lambda x: len(x.split()))\n",
        "\n",
        "benchmkark_results_df[['qt_words', 'non_qt_words']].mean().plot(kind='bar', figsize=(10, 6), color=['salmon', 'lightgreen'], edgecolor='black')"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 622
        },
        "id": "EG0qNGnh9T5O",
        "outputId": "e6fed7df-2a0a-42c5-81cf-147b456a9eda"
      },
      "id": "EG0qNGnh9T5O",
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<Axes: >"
            ]
          },
          "metadata": {},
          "execution_count": 29
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1000x600 with 1 Axes>"
            ],
            "image/png": "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snLlyuy3337p06dP+vTpk0WLFuXqq69Onz590tDQkLVr16a1tbXL+1paWjJkyJANHrO2tjZ1dXVdFgAAgO7o1kfRjjzyyPz+97/vsu7kk0/OqFGj8vnPfz7Dhw9P3759s3DhwkyZMiVJ8sgjj2T58uUZO3bsppsaAADgNboVNtttt1323HPPLuu22WabDB48uHP9KaeckunTp2fQoEGpq6vL6aefnrFjx+bggw/edFMDAAC8RrcfHvBmrrzyyvTq1StTpkxJe3t7Jk2alGuuuWZT/xgAAIBOGx02d955Z5fX/fv3z6xZszJr1qyNPTQAAMBb0qPvsQEAAKgmwgYAACiesAEAAIonbAAAgOIJGwAAoHjCBgAAKJ6wAQAAiidsAACA4gkbAACgeMIGAAAonrABAACKJ2wAAIDiCRsAAKB4wgYAACiesAEAAIonbAAAgOIJGwAAoHjCBgAAKJ6wAQAAiidsAACA4gkbAACgeMIGAAAonrABAACKJ2wAAIDiCRsAAKB4wgYAACiesAEAAIonbAAAgOIJGwAAoHjCBgAAKJ6wAQAAiidsAACA4gkbAACgeMIGAAAonrABAACKJ2wAAIDiCRsAAKB4wgYAACiesAEAAIonbAAAgOIJGwAAoHjCBgAAKJ6wAQAAiidsAACA4gkbAACgeMIGAAAoXrfC5tprr83ee++durq61NXVZezYsbn99ts7t69ZsyZTp07N4MGDs+2222bKlClpaWnZ5EMDAAC8VrfCZuedd86ll16aZcuW5Te/+U0mTJiQY489Ng888ECSZNq0abntttty4403ZtGiRVmxYkWOP/74zTI4AADAq/p0Z+djjjmmy+uLL7441157bZYsWZKdd945c+bMybx58zJhwoQkydy5czN69OgsWbIkBx988KabGgAA4DV6fI/Nyy+/nBtuuCGrV6/O2LFjs2zZsqxbty6NjY2d+4waNSojRozI4sWL3/A47e3taWtr67IAAAB0R7fD5ve//3223Xbb1NbW5tOf/nRuvvnm7L777mlubk6/fv0ycODALvs3NDSkubn5DY83c+bM1NfXdy7Dhw/v9l8CAADYunU7bN797nfnvvvuy9KlS/OZz3wmJ510Uh588MEeDzBjxoysWrWqc2lqaurxsQAAgK1Tt+6xSZJ+/frlXe96V5JkzJgxueeee/K1r30tH/rQ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NGEDAAAUT9gAAADFEzYAAEDxhA1UsdbW1kqPAABQBGEDVeKyyy7Lj370o87XH/zgBzN48OC8/e1vz+9+97sKTgZApTnRBW9O2ECVmD17doYPH54kueOOO3LHHXfk9ttvz+TJk3POOedUeDoAthQnuqBnhA1Uiebm5s6w+elPf5oPfvCDmThxYs4999zcc889FZ4OgC3FiS7oGWEDVWL77bdPU1NTkmT+/PlpbGxMknR0dOTll1+u5GgAbEFOdEHPCBuoEscff3w+8pGP5Kijjsqzzz6byZMnJ0l++9vf5l3veleFpwNgS3GiC3qmT6UHAF5x5ZVXZtddd01TU1Muv/zybLvttkmSp556Kp/97GcrPB0AW8qrJ7p22203J7qgG2o6Ojo6Kj0EAACvWLduXb72ta+lqakpH//4x7PvvvsmeeUE2HbbbZdPfvKTFZ4QqpOwgQq69dZb3/K+73//+zfjJAAAZRM2UEG9enW9za2mpiav/SdZU1PT+Wefqwb4v8uJLth4wgaqxIIFC/L5z38+l1xyScaOHZskWbx4cb70pS/lkksuyVFHHVXhCQHYXJzogo3nqWhQJc4666x87Wtfy6RJk1JXV5e6urpMmjQpV1xxRc4444xKjwfAZrR+/frO5Re/+EX22Wef3H777WltbU1ra2t+9rOfZb/99sv8+fMrPSpULU9FgyrxxBNPZODAga9bX19fn//5n//Z4vMAUBlnnXVWZs+encMOO6xz3aRJk/K2t70tp556ah566KEKTgfVyxUbqBIHHHBApk+fnpaWls51LS0tOeecc3LggQdWcDIAtiQnuqBn3GMDVeKxxx7L8ccfn0cffbTzG6ebmpqy22675ZZbbvHdBQBbife+973p379/vve976WhoSHJKye6Pvaxj2XNmjVZtGhRhSeE6iRsoIp0dHTkjjvuyMMPP5wkGT16dBobG7vcNArA/21OdEHPCBuoAuvWrcuAAQNy3333Zc8996z0OABUmBNd0H0eHgBVoG/fvhkxYoRHeAJs5V57omvixImZOHFipUeCYnh4AFSJf/7nf84Xv/jFPPfcc5UeBYAKcaILes5H0aBK7Lvvvnn88cezbt267LLLLtlmm226bL/33nsrNBkAW9KcOXNy00035Xvf+14GDRpU6XGgGD6KBlXiuOOOq/QIAFSBb3zjG3n88cczbNgwJ7qgG4QNVIkLLrig0iMAUAWc6IKe8VE0qDLLli3r/FbpPfbYI/vuu2+FJwIAqH6u2ECVWLlyZU444YTceeednd843dramvHjx+eGG27IjjvuWNkBAdiinOiC7vFUNKgSp59+ep5//vk88MADee655/Lcc8/l/vvvT1tbW84444xKjwfAFrJy5cpMmDAhBxxwQM4444ycccYZGTNmTI488sg8/fTTlR4PqpaPokGVqK+vz4IFC3LAAQd0WX/33Xdn4sSJaW1trcxgAGxRH/rQh/KHP/wh3/3udzN69OgkyYMPPpiTTjop73rXu/LDH/6wwhNCdfJRNKgS69evT9++fV+3vm/fvlm/fn0FJgKgEubPn58FCxZ0Rk2S7L777pk1a5Yv7IS/w0fRoEpMmDAhZ555ZlasWNG57s9//nOmTZuWI488soKTAbAlOdEFPeOjaFAlmpqa8v73vz8PPPBAhg8f3rluzz33zK233pqdd965whMCsCUce+yxaW1tzQ9/+MMMGzYsySsnuk488cRsv/32ufnmmys8IVQnYQNVpKOjIwsWLMjDDz+cJBk9enQaGxsrPBUAW5ITXdAzwgaqxJo1a9K/f/9KjwFAFXCiC7pP2ECV6N+/fw488MAcccQRGT9+fMaOHZsBAwZUeiwAtjAnuqBnhA1UiV/96le56667cuedd+bXv/51/vrXv2b//ffPEUcckXHjxuWoo46q9IgAbAFOdEHPCBuoQn/9619zzz335Jvf/GZ+8IMfZP369Xn55ZcrPRYAW4ATXdAzwgaqyKOPPpo777yzc2lvb8973/vejBs3LmeeeWalxwNgC3OiC946X9AJVeLtb397XnrppYwbNy7jxo3L5z//+ey9996pqamp9GgAbGEbOtF19NFHZ9y4cZUeDaqWsIEqseOOO+bhhx9Oc3Nzmpub09LSkpdeeilve9vbKj0aAFuQE13QM70qPQDwivvuuy/Nzc35whe+kPb29nzxi1/MDjvskEMOOST//M//XOnxANhCdtxxx7z44ouvO9EF/H3usYEq9Oyzz+bOO+/MT37yk/zwhz/0mWqArUxra2vuuuuuLFq0KIsWLcqDDz6YffbZJ+PHj8/FF19c6fGgKgkbqBI33XRT52epH3zwwQwaNCiHHXZYxo0blyOOOCLvec97Kj0iAFuYE13w1gkbqBI77bRT5xPQjjjiiOy1116VHgmACnCiC3pG2EBhLr300nz605/OwIEDKz0KAJuBE13QM8IGClNXV5f77rsv73jHOyo9CgAV5EQXdOWpaFAY5yIASJJLLrkkzz33XKXHgKohbAAACuREF3QlbAAAgOIJGwAAoHjCBgAAKJ6wgcIcfvjhGTBgQKXHAACoKsIGqkTv3r2zcuXK161/9tln07t3787XP/vZzzJ06NAtORoAVciJLuhK2ECVeKOn27S3t6dfv35beBoAKsWJLuiZPpUeALZ2V199dZKkpqYm//7v/55tt922c9vLL7+cu+66K6NGjarUeABsYU50Qc8IG6iwK6+8Mskrv8hmz57d5Wxcv379suuuu2b27NmVGg+ALcSJLtg4NR2+3Qmqwvjx43PzzTdn4MCBlR4FgAoYOXJkkuSPf/xjdt555w2e6Lroooty0EEHVWpEqGrCBqrEtGnTUlNT85b2veKKKzbzNABUyvjx43PTTTdl++23r/QoUBQfRYMqcd999+Xee+/NX//617z73e9Okjz66KPp3bt39ttvv8793mr8AFCm//qv/6r0CFAkYQNV4phjjsl2222X66+/vvMs3V/+8pecfPLJOfzww/O5z32uwhMCsCVMnz79Le/rCj78Lx9Fgyrx9re/Pb/4xS+yxx57dFl///33Z+LEiVmxYkWFJgNgSxo/fnx++9vfZt26dW96Bf+Xv/xlpcaEquOKDVSJtra2PP30069b//TTT+f555+vwEQAVIIr+NAzrthAlfjYxz6W//7v/85Xv/rVHHjggUmSpUuX5pxzzsnhhx+e66+/vsITArAluIIPPeOKDVSJ2bNn5+yzz85HPvKRrFu3LknSp0+fnHLKKfnXf/3XCk8HwJbiCj70jCs2UGVWr16dJ554Iknyzne+M9tss02FJwJgS3IFH3pG2AAAVJEXX3wxZ599dr7zne9s8Aq+E16wYcIGAKAKvdkV/D/96U8ZNmxYevXqVYnxoOoIGwCAAtXV1eW+++7LO97xjkqPAlVB4gMAFMi5aehK2AAAAMUTNgAAQPGEDQAAUDxhAwBQoJqamkqPAFVF2AAAFMjDA6Arj3sGAChQU1NThg0blt69e1d6FKgKwgYAoIqsXr06l156aRYuXJiVK1dm/fr1Xbb/4Q9/qNBkUN36VHoAAAD+1yc/+cksWrQoH/3oRzN06FD30sBb5IoNAEAVGThwYP7zP/8zhx56aKVHgaJ4eAAAQBXZfvvtM2jQoEqPAcURNgAAVeTLX/5yzj///Lz44ouVHgWK4qNoAABVZN99980TTzyRjo6O7Lrrrunbt2+X7ffee2+FJoPq5uEBAABV5Ljjjqv0CFAkV2wAAIDiuWIDAFCFli1bloceeihJsscee2Tfffet8ERQ3YQNAEAVWblyZU444YTceeedGThwYJKktbU148ePzw033JAdd9yxsgNClfJUNACAKnL66afn+eefzwMPPJDnnnsuzz33XO6///60tbXljDPOqPR4ULXcYwMAUEXq6+uzYMGCHHDAAV3W33333Zk4cWJaW1srMxhUOVdsAACqyPr161/3iOck6du3b9avX1+BiaAMwgYAoIpMmDAhZ555ZlasWNG57s9//nOmTZuWI488soKTQXXzUTQAgCrS1NSU97///XnggQcyfPjwJMny5cuz11575dZbb83OO+9c4QmhOgkbAIAq09HRkYULF3Y+7nn06NFpbGys8FRQ3YQNAECVWbhwYRYuXJiVK1e+7r6a73znOxWaCqqb77EBAKgiF154YS666KLsv//+GTp0aGpqaio9EhTBFRsAgCoydOjQXH755fnoRz9a6VGgKJ6KBgBQRdauXZtDDjmk0mNAcYQNAEAV+eQnP5l58+ZVegwojntsAACqyJo1a/Ktb30rCxYsyN577/26L+u84oorKjQZVDf32AAAVJHx48e/4baampr88pe/3ILTQDmEDQAAUDz32AAAAMUTNgAAQPGEDQAAUDxhAwAAFE/YAAAAxRM2AABA8YQNAABQPGEDAAAU7/8BXg3bwpc5rPkAAAAASUVORK5CYII=\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "benchmkark_results_df['qt_wpm'] = benchmkark_results_df['qt_words'] / (benchmkark_results_df['qt_time'] / 60)\n",
        "benchmkark_results_df['non_qt_wpm'] = benchmkark_results_df['non_qt_words'] / (benchmkark_results_df['non_qt_time'] / 60)\n",
        "\n",
        "benchmkark_results_df[['qt_wpm', 'non_qt_wpm']].mean().plot(kind='bar', figsize=(10, 6), color=['salmon', 'lightgreen'], edgecolor='black')"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 614
        },
        "id": "1w9e_X5F9A7-",
        "outputId": "96359449-39ab-4a5c-eb40-3436242d3bb5"
      },
      "id": "1w9e_X5F9A7-",
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<Axes: >"
            ]
          },
          "metadata": {},
          "execution_count": 30
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1000x600 with 1 Axes>"
            ],
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAz8AAAJDCAYAAAAlwqpNAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAApm0lEQVR4nO3df5SWdZ3H/9fwawB1hkZlBgLMbBNIQFcNp9RACUTX8sg5m2VqHdJvHnBLyoxyUXGL1m2zrYOynTW1k2TrKfthrqmYoCv+COPrzyhdT9DiQMLCKOoAMt8/+nrvTuKPGYGbm8/jcc59Dvd1fea+33fn5JzndV33NXWdnZ2dAQAA2MP1qvYAAAAAu4L4AQAAiiB+AACAIogfAACgCOIHAAAogvgBAACKIH4AAIAi9Kn2AD2xbdu2rF69Ovvss0/q6uqqPQ4AAFAlnZ2dee655zJ06ND06vX653ZqMn5Wr16d4cOHV3sMAABgN7Fq1aoMGzbsddfUZPzss88+Sf78ARsaGqo8DQAAUC3t7e0ZPnx4pRFeT03GzyuXujU0NIgfAADgTX0dxg0PAACAIogfAACgCOIHAAAogvgBAACKIH4AAIAiiB8AAKAI4gcAACiC+AEAAIogfgAAgCKIHwAAoAjiBwAAKIL4AQAAiiB+AACAIogfAACgCOIHAAAogvgBAACKIH4AAIAiiB8AAKAIfao9ALVr5cqVefbZZ6s9BlTVfvvtlxEjRlR7DADgTRA/9MjKlSszauTIvPDii9UeBapq4IABeeK3vxVAAFADxA898uyzz+aFF1/MtadOzaj9mqo9DlTFE8+uzyd+/B959tlnxQ8A1ADxw1syar+mHDa0udpjAADAG3LDAwAAoAjiBwAAKIL4AQAAiiB+AACAIogfAACgCOIHAAAogvgBAACKIH4AAIAiiB8AAKAI4gcAACiC+AEAAIogfgAAgCKIHwAAoAjiBwAAKIL4AQAAiiB+AACAIogfAACgCOIHAAAogvgBAACKIH4AAIAiiB8AAKAI4gcAACiC+AEAAIogfgAAgCKIHwAAoAjiBwAAKIL4AQAAiiB+AACAIogfAACgCOIHAAAogvgBAACK0K34ueqqqzJ27Ng0NDSkoaEhra2t+Y//+I/K/pdeeikzZszIvvvum7333jvTpk3LmjVrurzGypUrc9JJJ2XgwIEZPHhwLrjggmzdunXHfBoAAIDX0K34GTZsWL72ta9l2bJl+fWvf53jjjsuH/7wh/PYY48lSc4///z8/Oc/z4033pjFixdn9erVOfXUUys///LLL+ekk07K5s2bc++99+a6667Ltddemzlz5uzYTwUAAPAX+nRn8cknn9zl+Ve+8pVcddVVue+++zJs2LBcffXVWbhwYY477rgkyTXXXJNRo0blvvvuy1FHHZXbbrstjz/+eO644440Nzfn0EMPzWWXXZYLL7wwl1xySfr167fjPhkAAMD/0ePv/Lz88su54YYbsmnTprS2tmbZsmXZsmVLJk2aVFkzcuTIjBgxIkuXLk2SLF26NGPGjElzc3NlzZQpU9Le3l45e7Q9HR0daW9v7/IAAADojm7HzyOPPJK999479fX1+fSnP52bbropo0ePTltbW/r165dBgwZ1Wd/c3Jy2trYkSVtbW5fweWX/K/tey7x589LY2Fh5DB8+vLtjAwAAhet2/Bx88MFZvnx57r///px77rk566yz8vjjj++M2Spmz56djRs3Vh6rVq3aqe8HAADsebr1nZ8k6devX971rnclSQ4//PA8+OCD+Zd/+Zd85CMfyebNm7Nhw4YuZ3/WrFmTlpaWJElLS0seeOCBLq/3yt3gXlmzPfX19amvr+/uqAAAABVv+e/8bNu2LR0dHTn88MPTt2/fLFq0qLJvxYoVWblyZVpbW5Mkra2teeSRR7J27drKmttvvz0NDQ0ZPXr0Wx0FAADgNXXrzM/s2bMzderUjBgxIs8991wWLlyYu+66K7/85S/T2NiY6dOnZ9asWWlqakpDQ0POO++8tLa25qijjkqSTJ48OaNHj84ZZ5yRyy+/PG1tbbnooosyY8YMZ3YAAICdqlvxs3bt2px55pl55pln0tjYmLFjx+aXv/xlPvjBDyZJrrjiivTq1SvTpk1LR0dHpkyZkiuvvLLy8717987NN9+cc889N62trdlrr71y1llnZe7cuTv2UwEAAPyFbsXP1Vdf/br7+/fvn/nz52f+/PmvueaAAw7ILbfc0p23BQAAeMve8nd+AAAAaoH4AQAAiiB+AACAIogfAACgCOIHAAAogvgBAACKIH4AAIAiiB8AAKAI4gcAACiC+AEAAIogfgAAgCKIHwAAoAjiBwAAKIL4AQAAiiB+AACAIogfAACgCOIHAAAogvgBAACKIH4AAIAiiB8AAKAI4gcAACiC+AEAAIogfgAAgCKIHwAAoAjiBwAAKIL4AQAAiiB+AACAIogfAACgCOIHAAAogvgBAACKIH4AAIAiiB8AAKAI4gcAACiC+AEAAIogfgAAgCKIHwAAoAjiBwAAKIL4AQAAiiB+AACAIogfAACgCOIHAAAogvgBAACKIH4AAIAiiB8AAKAI4gcAACiC+AEAAIogfgAAgCKIHwAAoAjiBwAAKIL4AQAAiiB+AACAIogfAACgCOIHAAAogvgBAACKIH4AAIAiiB8AAKAI3YqfefPm5cgjj8w+++yTwYMH55RTTsmKFSu6rJkwYULq6uq6PD796U93WbNy5cqcdNJJGThwYAYPHpwLLrggW7dufeufBgAA4DX06c7ixYsXZ8aMGTnyyCOzdevWfOlLX8rkyZPz+OOPZ6+99qqsO/vsszN37tzK84EDB1b+/fLLL+ekk05KS0tL7r333jzzzDM588wz07dv33z1q1/dAR8JAADg1boVP7feemuX59dee20GDx6cZcuW5dhjj61sHzhwYFpaWrb7Grfddlsef/zx3HHHHWlubs6hhx6ayy67LBdeeGEuueSS9OvXrwcfAwAA4PW9pe/8bNy4MUnS1NTUZfv111+f/fbbL4ccckhmz56dF154obJv6dKlGTNmTJqbmyvbpkyZkvb29jz22GPbfZ+Ojo60t7d3eQAAAHRHt878/F/btm3LZz/72bz//e/PIYccUtn+sY99LAcccECGDh2ahx9+OBdeeGFWrFiRH//4x0mStra2LuGTpPK8ra1tu+81b968XHrppT0dFQAAoOfxM2PGjDz66KO55557umw/55xzKv8eM2ZMhgwZkuOPPz5PPfVUDjrooB691+zZszNr1qzK8/b29gwfPrxngwMAAEXq0WVvM2fOzM0335xf/epXGTZs2OuuHT9+fJLkySefTJK0tLRkzZo1Xda88vy1vidUX1+fhoaGLg8AAIDu6Fb8dHZ2ZubMmbnpppty55135sADD3zDn1m+fHmSZMiQIUmS1tbWPPLII1m7dm1lze23356GhoaMHj26O+MAAAC8ad267G3GjBlZuHBhfvrTn2afffapfEensbExAwYMyFNPPZWFCxfmxBNPzL777puHH344559/fo499tiMHTs2STJ58uSMHj06Z5xxRi6//PK0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ED8AAEARxA8AAFAE8QMAABRB/AAAAEUQPwAAQBHEDwAAUATxAwAAFEH8AAAARRA/AABAEcQPAABQBPEDAAAUQfwAAABFED8AAEARxA8AAFAE8QMAABRB/AAAAEUQPwAAQBHEDwAAUATxAwAAFEH8AAAAReizo1/wkksuyaWXXtpl28EHH5zf/va3SZKXXnopn/vc53LDDTeko6MjU6ZMyZVXXpnm5uYdPQoAsJOtXLkyzz77bLXHgKrab7/9MmLEiGqPwZuww+MnSd7znvfkjjvu+N836fO/b3P++efnF7/4RW688cY0NjZm5syZOfXUU/Of//mfO2MUAGAnWblyZUaOGpkXX3ix2qNAVQ0YOCC/feK3AqgG7JT46dOnT1paWl61fePGjbn66quzcOHCHHfccUmSa665JqNGjcp9992Xo446ameMAwDsBM8++2xefOHFfPxfP57md7uCgzKt+d2afP//+X6effZZ8VMDdkr8/P73v8/QoUPTv3//tLa2Zt68eRkxYkSWLVuWLVu2ZNKkSZW1I0eOzIgRI7J06dLXjJ+Ojo50dHRUnre3t++MsQGAHmh+d3OGjxte7TEA3tAOv+HB+PHjc+211+bWW2/NVVddlaeffjrHHHNMnnvuubS1taVfv34ZNGhQl59pbm5OW1vba77mvHnz0tjYWHkMH+4/sAAAQPfs8DM/U6dOrfx77NixGT9+fA444ID8+7//ewYMGNCj15w9e3ZmzZpVed7e3i6AAACAbtnpt7oeNGhQ3v3ud+fJJ59MS0tLNm/enA0bNnRZs2bNmu1+R+gV9fX1aWho6PIAAADojp0eP88//3yeeuqpDBkyJIcffnj69u2bRYsWVfavWLEiK1euTGtr684eBQAAKNgOv+zt85//fE4++eQccMABWb16dS6++OL07t07H/3oR9PY2Jjp06dn1qxZaWpqSkNDQ84777y0tra60xsAALBT7fD4+eMf/5iPfvSjWbduXfbff/8cffTRue+++7L//vsnSa644or06tUr06ZN6/JHTgEAAHamHR4/N9xww+vu79+/f+bPn5/58+fv6LcGAAB4TTv9Oz8AAAC7A/EDAAAUQfwAAABFED8AAEARxA8AAFAE8QMAABRB/AAAAEUQPwAAQBHEDwAAUATxAwAAFEH8AAAARRA/AABAEcQPAABQBPEDAAAUQfwAAABFED8AAEARxA8AAFAE8QMAABRB/AAAAEUQPwAAQBHEDwAAUATxAwAAFEH8AAAARRA/AABAEcQPAABQBPEDAAAUQfwAAABFED8AAEARxA8AAFAE8QMAABRB/AAAAEUQPwAAQBHEDwAAUATxAwAAFEH8AAAARRA/AABAEcQPAABQBPEDAAAUQfwAAABFED8AAEARxA8AAFAE8QMAABRB/AAAAEUQPwAAQBHEDwAAUATxAwAAFEH8AAAARRA/AABAEcQPAABQBPEDAAAUQfwAAABFED8AAEARxA8AAFAE8QMAABRB/AAAAEUQPwAAQBGqGj/z58/PO97xjvTv3z/jx4/PAw88UM1xAACAPVjV4ueHP/xhZs2alYsvvjgPPfRQxo0blylTpmTt2rXVGgkAANiDVS1+vvGNb+Tss8/OJz/5yYwePToLFizIwIED893vfrdaIwEAAHuwPtV4082bN2fZsmWZPXt2ZVuvXr0yadKkLF269FXrOzo60tHRUXm+cePGJEl7e/vOH5btev7555MkDz2zJs9v3lLlaaA6frdufZI////Bf48o0Su/C1b9v6vSsanjDVbDnmntk3++asnvgup55X/3zs7ON1xb1/lmVu1gq1evztvf/vbce++9aW1trWz/whe+kMWLF+f+++/vsv6SSy7JpZdeuqvHBAAAasSqVasybNiw111TlTM/3TV79uzMmjWr8nzbtm1Zv3599t1339TV1VVxMqie9vb2DB8+PKtWrUpDQ0O1xwGgCvwugD+f8XnuuecydOjQN1xblfjZb7/90rt376xZs6bL9jVr1qSlpeVV6+vr61NfX99l26BBg3bmiFAzGhoa/MIDKJzfBZSusbHxTa2ryg0P+vXrl8MPPzyLFi2qbNu2bVsWLVrU5TI4AACAHaVql73NmjUrZ511Vo444oi8973vzTe/+c1s2rQpn/zkJ6s1EgAAsAerWvx85CMfyZ/+9KfMmTMnbW1tOfTQQ3Prrbemubm5WiNBTamvr8/FF1/8qktCASiH3wXQPVW52xsAAMCuVrU/cgoAALAriR8AAKAI4gcAACiC+AEAAIogfgAAgCKIHwAAoAjiBwAAKELV/sgp0H3r1q3LnDlz8qtf/Spr167Ntm3buuxfv359lSYDANj9iR+oIWeccUaefPLJTJ8+Pc3Nzamrq6v2SABUgYNh0DPiB2rI3XffnXvuuSfjxo2r9igAVJGDYdAz4gdqyMiRI/Piiy9WewwAqszBMOgZNzyAGnLllVfmy1/+chYvXpx169alvb29ywOAMjgYBj3jzA/UkEGDBqW9vT3HHXdcl+2dnZ2pq6vLyy+/XKXJANiVrrzyynzxi1/MnDlzcsghh6Rv375d9jc0NFRpMti9iR+oIaeffnr69u2bhQsXusYboGAOhkHPiB+oIY8++mh+85vf5OCDD672KABUkYNh0DPiB2rIEUcckVWrVokfgMI5GAY9I36ghpx33nn5zGc+kwsuuCBjxox51TXeY8eOrdJkAOxKDoZBz9R1dnZ2VnsI4M3p1evVN2isq6tzjTdAYW688cZccsklDoZBN4kfqCF/+MMfXnf/AQccsIsmAaCaHAyDnhE/AAA1xsEw6BnxAzVmxYoV+fa3v50nnngiSTJq1Kicd955rvsGAHgDrz5nCuy2fvSjH+WQQw7JsmXLMm7cuIwbNy4PPfRQDjnkkPzoRz+q9ngA7EIrVqzIzJkzc/zxx+f444/PzJkzs2LFimqPBbs1Z36ghhx00EE5/fTTM3fu3C7bL7744nz/+9/PU089VaXJANiVfvSjH+W0007LEUcckdbW1iTJfffdlwcffDA33HBDpk2bVuUJYfckfqCGDBw4MA8//HDe9a53ddn++9//PuPGjcsLL7xQpckA2JUcDIOecdkb1JAJEybk7rvvftX2e+65J8ccc0wVJgKgGp555pmceeaZr9r+8Y9/PM8880wVJoLa4I+cQg350Ic+lAsvvDDLli3LUUcdleTPlznceOONufTSS/Ozn/2sy1oA9kyvHAz7yysBHAyD1+eyN6gh2/u7DtvjbzwA7NkWLFiQOXPm5G//9m+3ezBs6NChlbUOhsH/Ej8AADXGwTDoGfEDNeSll15K//79qz0GAEBNEj9QQ/r375/3vve9+cAHPpAJEybkfe97XwYMGFDtsQDYxRwMg54RP1BD7rnnnixZsiR33XVX7r333mzdujVHHHFEJYY++MEPVntEAHYBB8OgZ8QP1KitW7fmwQcfzL/+67/m+uuvz7Zt21zXDVAIB8OgZ8QP1Jjf/e53ueuuuyqPjo6OHHvssZkwYUI+85nPVHs8AHYxB8PgzfN3fqCGvP3tb8+LL76YCRMmZMKECbnwwgszduzY1NXVVXs0AHax7R0M+5u/+ZtMmDCh2qPBbkv8QA3Zf//989vf/jZtbW1pa2vLmjVr8uKLL2bgwIHVHg2AXcjBMOiZN3eTeGC3sHz58rS1teWLX/xiOjo68qUvfSn77bdf3ve+9+XLX/5ytccDYBfZf//988ILL7zqYBjw+nznB2rUunXrctddd+WnP/1pfvCDH7jGG6AwGzZsyJIlS7J48eIsXrw4jz/+eA499NBMnDgxX/nKV6o9HuyWxA/UkB//+MeVa7sff/zxNDU15eijj86ECRPygQ98IOPGjav2iADsYg6GwZsnfqCGDB48uHJntw984AMZM2ZMtUcCoAocDIOeET+wB/ra176WT3/60xk0aFC1RwFgJ3AwDHpG/MAeqKGhIcuXL8873/nOao8CQBU5GAZdudsb7IEc0wAgSb761a9m/fr11R4DdhviBwBgD+VgGHQlfgAAgCKIHwAAoAjiBwAAKIL4gT3QMccckwEDBlR7DACA3Yr4gRrSu3fvrF279lXb161bl969e1ee33LLLRkyZMiuHA2A3ZCDYdCV+IEa8lp37eno6Ei/fv128TQAVIuDYdAzfao9APDGvvWtbyVJ6urq8m//9m/Ze++9K/tefvnlLFmyJCNHjqzWeADsYg6GQc+IH6gBV1xxRZI//7JbsGBBl6N6/fr1yzve8Y4sWLCgWuMBsIs4GAZvTV2nv34FNWPixIm56aabMmjQoGqPAkAVHHjggUmSP/zhDxk2bNh2D4bNnTs348ePr9aIsFsTP1BDzj///NTV1b2ptd/4xjd28jQAVMvEiRPz4x//OG9729uqPQrUFJe9QQ1Zvnx5HnrooWzdujUHH3xwkuR3v/tdevfunb/+67+urHuzgQRAbfrVr35V7RGgJokfqCEnn3xy9tlnn1x33XWVo33/8z//k09+8pM55phj8rnPfa7KEwKwK8yaNetNr3UlAPwvl71BDXn729+e2267Le95z3u6bH/00UczefLkrF69ukqTAbArTZw4Mb/5zW+yZcuWN7wS4M4776zWmLDbceYHakh7e3v+9Kc/vWr7n/70pzz33HNVmAiAanAlAPSMMz9QQ84888zcfffd+ed//ue8973vTZLcf//9ueCCC3LMMcfkuuuuq/KEAOwKrgSAnnHmB2rIggUL8vnPfz4f+9jHsmXLliRJnz59Mn369PzTP/1TlacDYFdxJQD0jDM/UIM2bdqUp556Kkly0EEHZa+99qryRADsSq4EgJ4RPwAANeaFF17I5z//+Xz3u9/d7pUADorB9okfAIAa9UZXAvzxj3/M0KFD06tXr2qMB7sd8QMAsIdqaGjI8uXL8853vrPao8BuwWEAAIA9lGPc0JX4AQAAiiB+AACAIogfAACgCOIHAGAPVVdXV+0RYLcifgAA9lBueABdudU1AMAeatWqVRk6dGh69+5d7VFgtyB+AABqzKZNm/K1r30tixYtytq1a7Nt27Yu+//rv/6rSpPB7q1PtQcAAKB7PvWpT2Xx4sU544wzMmTIEN/tgTfJmR8AgBozaNCg/OIXv8j73//+ao8CNcUNDwAAaszb3va2NDU1VXsMqDniBwCgxlx22WWZM2dOXnjhhWqPAjXFZW8AADXmsMMOy1NPPZXOzs684x3vSN++fbvsf+ihh6o0Geze3PAAAKDGnHLKKdUeAWqSMz8AAEARnPkBAKhRy5YtyxNPPJEkec973pPDDjusyhPB7k38AADUmLVr1+a0007LXXfdlUGDBiVJNmzYkIkTJ+aGG27I/vvvX90BYTflbm8AADXmvPPOy3PPPZfHHnss69evz/r16/Poo4+mvb09f/d3f1ft8WC35Ts/AAA1prGxMXfccUeOPPLILtsfeOCBTJ48ORs2bKjOYLCbc+YHAKDGbNu27VW3t06Svn37Ztu2bVWYCGqD+AEAqDHHHXdcPvOZz2T16tWVbf/93/+d888/P8cff3wVJ4Pdm8veAABqzKpVq/KhD30ojz32WIYPH54kWblyZcaMGZOf/exnGTZsWJUnhN2T+AEAqEGdnZ1ZtGhR5VbXo0aNyqRJk6o8FezexA8AQA1atGhRFi1alLVr177qez7f/e53qzQV7N78nR8AgBpz6aWXZu7cuTniiCMyZMiQ1NXVVXskqAnO/AAA1JghQ4bk8ssvzxlnnFHtUaCmuNsbAECN2bx5c973vvdVewyoOeIHAKDGfOpTn8rChQurPQbUHN/5AQCoMS+99FK+853v5I477sjYsWNf9QdPv/GNb1RpMti9+c4PAECNmThx4mvuq6ury5133rkLp4HaIX4AAIAi+M4PAABQBPEDAAAUQfwAAABFED8AAEARxA8AAFAE8QMAABRB/AAAAEX4/wCH1KVnyj1cFQAAAABJRU5ErkJggg==\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "benchmkark_results_df[['qt_time', 'non_qt_time']].mean().plot(kind='bar', figsize=(10, 6), color=['salmon', 'lightgreen'], edgecolor='black')"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 612
        },
        "id": "o-1KqXez28SE",
        "outputId": "7ae65911-0d71-4cc5-c11e-bfd90410bd16"
      },
      "id": "o-1KqXez28SE",
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<Axes: >"
            ]
          },
          "metadata": {},
          "execution_count": 31
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1000x600 with 1 Axes>"
            ],
            "image/png": "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aTIA9qTBgwfnqaeeygEHHNBn/fe//30OOOAAr3uGnfBWNKiyfffdN3V1damrq8sb3/jG1NXV9e578cUXs2nTplx44YVVnBCAPamnp6fP74KXPPTQQxkzZkwVJoIyCBuosgULFqSnpyfnnXdeLr/88jQ2NvbuGzZsWA4++OC0tLRUcUIA9gQXumDX+Cga1Ijly5fnhBNOyJAhr3y94corr8yFF16Y0aNH75nBANgjbrrppt4LXQsWLHChCyokbKAwDQ0NefDBB/O6172u2qMAsBu40AX9I2ygMKNGjcpDDz0kbAD2ci50QV9e9wwAUCDXpqEvYQMAABRP2AAAAMUTNgAAQPGEDRTmpJNOyogRI6o9BgBATRE2UCMGDx6c9evXb7f++9//PoMHD+79+j//8z8zbty4PTkaADXIhS7oS9hAjdjZ2226uroybNiwPTwNANXiQhf0zyv/5Sdgt1u4cGGSpK6uLt/4xjcycuTI3n0vvvhifvSjH2Xy5MnVGg+APcyFLugfYQNVds011yT54y+yxYsX97kaN2zYsBx88MFZvHhxtcYDYA9xoQt2TV2Pv+4ENeHkk0/ObbfdltGjR1d7FACqYNKkSUmSJ554IgceeOAOL3TNmzcvxx13XLVGhJombKBGzJo1K3V1da/q2Kuvvno3TwNAtZx88sn5zne+k3333bfao0BRfBQNasSDDz6YBx54IP/zP/+TN73pTUmShx9+OIMHD87RRx/de9yrjR8AyvTf//3f1R4BiiRsoEacdtppGTVqVG666abeq3R/+MMfcu655+akk07K3/3d31V5QgD2hNmzZ7/qY93Bh//lo2hQI1772tfmv/7rv3LYYYf1Wf/FL36RU045JevWravSZADsSSeffHJ+9rOfZdu2bX/2Dv7dd99drTGh5rhjAzWis7MzTz/99HbrTz/9dJ577rkqTARANbiDD/3jjg3UiA9/+MP58Y9/nK9+9at529veliRZtWpVPv3pT+ekk07KTTfdVOUJAdgT3MGH/nHHBmrE4sWLc8kll+Sv//qvs23btiTJkCFDcv755+crX/lKlacDYE9xBx/6xx0bqDGbN2/Oo48+miR5/etfn3322afKEwGwJ7mDD/0jbAAAasjzzz+fSy65JDfccMMO7+C74AU7JmwAAGrQn7uD/7vf/S7jx4/PoEGDqjEe1BxhAwBQoIaGhjz44IN53eteV+1RoCZIfACAArk2DX0JGwAAoHjCBgAAKJ6wAQAAiidsAAAKVFdXV+0RoKYIGwCAAnl5APTldc8AAAVqa2vL+PHjM3jw4GqPAjVB2AAA1JDNmzfnyiuvTGtra9avX5/u7u4++x977LEqTQa1bUi1BwAA4H999KMfzfLly/OhD30o48aN8ywNvEru2AAA1JDRo0fnP/7jP3LCCSdUexQoipcHAADUkH333Tdjxoyp9hhQHGEDAFBDvvCFL2Tu3Ll5/vnnqz0KFMVH0QAAashRRx2VRx99ND09PTn44IMzdOjQPvsfeOCBKk0Gtc3LAwAAasgZZ5xR7RGgSO7YAAAAxXPHBgCgBq1evTq//vWvkySHHXZYjjrqqCpPBLVN2AAA1JD169fnrLPOyj333JPRo0cnSTZs2JCTTz45t9xyS/bff//qDgg1ylvRAABqyEUXXZTnnnsuv/zlL/Pss8/m2WefzS9+8Yt0dnbmk5/8ZLXHg5rlGRsAgBrS2NiYu+66K8cee2yf9XvvvTennHJKNmzYUJ3BoMa5YwMAUEO6u7u3e8VzkgwdOjTd3d1VmAjKIGwAAGrI1KlT86lPfSrr1q3rXXvyyScza9asvPOd76ziZFDbfBQNAKCGtLW15b3vfW9++ctfZsKECUmStWvX5ogjjsh3v/vdHHjggVWeEGqTsAEAqDE9PT1pbW3tfd3zlClTMm3atCpPBbVN2AAA1JjW1ta0trZm/fr12z1Xc8MNN1RpKqht/o4NAEANufzyyzNv3ry89a1vzbhx41JXV1ftkaAI7tgAANSQcePG5aqrrsqHPvShao8CRfFWNACAGrJ169a8/e1vr/YYUBxhAwBQQz760Y9m2bJl1R4DiuMZGwCAGrJly5Zcf/31ueuuu3LkkUdu98c6r7766ipNBrXNMzYAADXk5JNP3um+urq63H333XtwGiiHsAEAAIrnGRsAAKB4wgYAACiesAEAAIonbAAAgOIJGwAAoHjCBgAAKJ6wAQAAiidsAACA4v0/1Ghr2qITW6sAAAAASUVORK5CYII=\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "benchmkark_results_df[['qt_correct', 'non_qt_correct']].mean().plot(kind='bar', figsize=(10, 6), color=['salmon', 'lightgreen'], edgecolor='black')"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 629
        },
        "id": "phKPRBW9sYu8",
        "outputId": "6d6dc937-1a31-4d7a-8f9a-1e52a523e01d"
      },
      "id": "phKPRBW9sYu8",
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<Axes: >"
            ]
          },
          "metadata": {},
          "execution_count": 32
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1000x600 with 1 Axes>"
            ],
            "image/png": "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\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "(benchmkark_results_df['qt_model_answer'] == benchmkark_results_df['non_qt_model_answer']).value_counts(normalize=True)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "SVP8NCFBspP_",
        "outputId": "ab3f1210-0eda-4478-c3e0-3de646b93358"
      },
      "id": "SVP8NCFBspP_",
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "True     0.759494\n",
              "False    0.240506\n",
              "Name: proportion, dtype: float64"
            ]
          },
          "metadata": {},
          "execution_count": 33
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "benchmkark_results_df[['qt_correct', 'non_qt_correct']].mean()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "EqChYKMNsyPo",
        "outputId": "1da00c88-99c2-4bd5-cf2f-cfe9deff4031"
      },
      "id": "EqChYKMNsyPo",
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "qt_correct        0.481013\n",
              "non_qt_correct    0.569620\n",
              "dtype: float64"
            ]
          },
          "metadata": {},
          "execution_count": 34
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [],
      "metadata": {
        "id": "Dv8gR5PMy4lv"
      },
      "id": "Dv8gR5PMy4lv",
      "execution_count": null,
      "outputs": []
    }
  ],
  "metadata": {
    "accelerator": "GPU",
    "colab": {
      "machine_shape": "hm",
      "provenance": [],
      "gpuType": "A100"
    },
    "kernelspec": {
      "display_name": "Python 3",
      "name": "python3"
    },
    "language_info": {
      "codemirror_mode": {
        "name": "ipython",
        "version": 3
      },
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "name": "python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython3",
      "version": "3.11.5"
    },
    "widgets": {
      "application/vnd.jupyter.widget-state+json": {
        "18e524506f324ccf9a2bef3d2f4a48a3": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_b88d1ebc0e074979a210de610229c2a1",
              "IPY_MODEL_5380fbd569be4bfca3ea31dddde8dd58",
              "IPY_MODEL_397e64560e804696b0475fa1c818e6f7"
            ],
            "layout": "IPY_MODEL_ed81c95c9f194feb99f6d56224fbc5b0"
          }
        },
        "b88d1ebc0e074979a210de610229c2a1": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_300224a3854246af81570747c6cd5033",
            "placeholder": "​",
            "style": "IPY_MODEL_b1d775e1e4404ae9979d2aa77bbf2df4",
            "value": "Loading checkpoint shards: 100%"
          }
        },
        "5380fbd569be4bfca3ea31dddde8dd58": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_20e3303aea174fff8b58ecec4901c49b",
            "max": 4,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_a3902bd51e0a427aac7f8fd2d75cc352",
            "value": 4
          }
        },
        "397e64560e804696b0475fa1c818e6f7": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_9b510040126a4de9aaf8db6496927840",
            "placeholder": "​",
            "style": "IPY_MODEL_913432a1ee734d9fabc77face2afeca5",
            "value": " 4/4 [00:10&lt;00:00,  2.13s/it]"
          }
        },
        "ed81c95c9f194feb99f6d56224fbc5b0": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "300224a3854246af81570747c6cd5033": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "b1d775e1e4404ae9979d2aa77bbf2df4": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "20e3303aea174fff8b58ecec4901c49b": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "a3902bd51e0a427aac7f8fd2d75cc352": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "9b510040126a4de9aaf8db6496927840": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "913432a1ee734d9fabc77face2afeca5": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "5a6205b9a0e347499755773a91fe2d11": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_5522a6a3c1b74f9db414b88c4cd14401",
              "IPY_MODEL_2257cc1af2a441cc803f09557683b3bd",
              "IPY_MODEL_30ef9d7313cc44e1883539f3143b6152"
            ],
            "layout": "IPY_MODEL_eb985e59afd84d6bb1c1efe426365f72"
          }
        },
        "5522a6a3c1b74f9db414b88c4cd14401": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_9010680ebf014ba5ae3d213d33f59997",
            "placeholder": "​",
            "style": "IPY_MODEL_e4c5723b67304b0eaeac78c56683e431",
            "value": "Loading checkpoint shards: 100%"
          }
        },
        "2257cc1af2a441cc803f09557683b3bd": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_7bb23ae411484ab1882dc92cb57778c0",
            "max": 4,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_3b259ab6cf4844d0a9676c1db77d72bc",
            "value": 4
          }
        },
        "30ef9d7313cc44e1883539f3143b6152": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_6aeb7a009255476fbff1f07bf6baac60",
            "placeholder": "​",
            "style": "IPY_MODEL_3acdc812b4044a90939c294256fca427",
            "value": " 4/4 [00:13&lt;00:00,  2.73s/it]"
          }
        },
        "eb985e59afd84d6bb1c1efe426365f72": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "9010680ebf014ba5ae3d213d33f59997": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "e4c5723b67304b0eaeac78c56683e431": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "7bb23ae411484ab1882dc92cb57778c0": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "3b259ab6cf4844d0a9676c1db77d72bc": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "6aeb7a009255476fbff1f07bf6baac60": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "3acdc812b4044a90939c294256fca427": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "27634f82ab194df6be47db911f836a0d": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_71d12a8b65544c09ad8c90df8394f901",
              "IPY_MODEL_899b4ac186ba4d2aaf8f69c335de4694",
              "IPY_MODEL_968c5ba0ed9b456e90d452d920615694"
            ],
            "layout": "IPY_MODEL_f9ed983dcc5c4fa1b0fad743824739fe"
          }
        },
        "71d12a8b65544c09ad8c90df8394f901": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_e189009e70344f2cbbf0a88bd10112cb",
            "placeholder": "​",
            "style": "IPY_MODEL_b26cdd1c0ac64975a56246bc28ad88b9",
            "value": "Filter: 100%"
          }
        },
        "899b4ac186ba4d2aaf8f69c335de4694": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_d859245f61214aab966aaa944d9242cb",
            "max": 166,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_34862a483ef646d4a409c6fbbeaf4ccd",
            "value": 166
          }
        },
        "968c5ba0ed9b456e90d452d920615694": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_abeab3eca6604d4bbab0136d6f11bdf9",
            "placeholder": "​",
            "style": "IPY_MODEL_d535d12496f945b297690542b3ea9ce0",
            "value": " 166/166 [00:00&lt;00:00, 8513.33 examples/s]"
          }
        },
        "f9ed983dcc5c4fa1b0fad743824739fe": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "e189009e70344f2cbbf0a88bd10112cb": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "b26cdd1c0ac64975a56246bc28ad88b9": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "d859245f61214aab966aaa944d9242cb": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "34862a483ef646d4a409c6fbbeaf4ccd": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "abeab3eca6604d4bbab0136d6f11bdf9": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "d535d12496f945b297690542b3ea9ce0": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "020b5f966b504057b32df88baed99f3d": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_cb750d967b614337831d763bdedee1b0",
              "IPY_MODEL_1d05f8a2787043dc9f4c2e4225359888",
              "IPY_MODEL_6fe925b38bf64e4ab1cacea318d3792d"
            ],
            "layout": "IPY_MODEL_4d709dd9a3b04973b2c1a01c40a89572"
          }
        },
        "cb750d967b614337831d763bdedee1b0": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_e30796c01bf24f62876e7123e92a8cbc",
            "placeholder": "​",
            "style": "IPY_MODEL_58ff8137caeb4857af39a7d59e58f401",
            "value": "Filter: 100%"
          }
        },
        "1d05f8a2787043dc9f4c2e4225359888": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_023a6139e26b4885b1fa9189f818c99c",
            "max": 18,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_9639a7d714c0465d8717ee8ed6e6da8f",
            "value": 18
          }
        },
        "6fe925b38bf64e4ab1cacea318d3792d": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_196e09c923ca411589fa4a2fedac9d2d",
            "placeholder": "​",
            "style": "IPY_MODEL_3d697ed984bb4c01b39cd6a134a0481c",
            "value": " 18/18 [00:00&lt;00:00, 1110.67 examples/s]"
          }
        },
        "4d709dd9a3b04973b2c1a01c40a89572": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "e30796c01bf24f62876e7123e92a8cbc": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "58ff8137caeb4857af39a7d59e58f401": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "023a6139e26b4885b1fa9189f818c99c": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "9639a7d714c0465d8717ee8ed6e6da8f": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "196e09c923ca411589fa4a2fedac9d2d": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "3d697ed984bb4c01b39cd6a134a0481c": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "fac6a3a3c80345a1b00e74c7757f1eae": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HBoxModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_e3344d930117420b89950b00938e9ef9",
              "IPY_MODEL_9d3776512a324807b7ef5a980c1f6ebb",
              "IPY_MODEL_329e44db563942f9b49db02f9a497fd1"
            ],
            "layout": "IPY_MODEL_9f570896983a427c920777cf0ba2f599"
          }
        },
        "e3344d930117420b89950b00938e9ef9": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_8b355bc4337d44f68d2074a82e8c3e90",
            "placeholder": "​",
            "style": "IPY_MODEL_0e06b11dfc804d189ed7e8ac3d46985f",
            "value": "Filter: 100%"
          }
        },
        "9d3776512a324807b7ef5a980c1f6ebb": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "FloatProgressModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_61c002e03b824050bfdc26812574275d",
            "max": 5,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_ef21c383f3df40bcad3cf1e1d70a91e9",
            "value": 5
          }
        },
        "329e44db563942f9b49db02f9a497fd1": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "HTMLModel",
          "model_module_version": "1.5.0",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_d9353de9c6a04222b1ff35e118099496",
            "placeholder": "​",
            "style": "IPY_MODEL_b3e2300d8d1b4ccf936aca42032d32ce",
            "value": " 5/5 [00:00&lt;00:00, 300.60 examples/s]"
          }
        },
        "9f570896983a427c920777cf0ba2f599": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "8b355bc4337d44f68d2074a82e8c3e90": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "0e06b11dfc804d189ed7e8ac3d46985f": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "61c002e03b824050bfdc26812574275d": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "ef21c383f3df40bcad3cf1e1d70a91e9": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "ProgressStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "d9353de9c6a04222b1ff35e118099496": {
          "model_module": "@jupyter-widgets/base",
          "model_name": "LayoutModel",
          "model_module_version": "1.2.0",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "b3e2300d8d1b4ccf936aca42032d32ce": {
          "model_module": "@jupyter-widgets/controls",
          "model_name": "DescriptionStyleModel",
          "model_module_version": "1.5.0",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        }
      }
    }
  },
  "nbformat": 4,
  "nbformat_minor": 5
}